Twigテンプレートの基本

かなーりざっくりまとめ

コメントアウト

{# コメント内容 #}

{#
 コメント
 内容
#}


変数の宣言

{% set 変数 = 値 %}


変数のスコープ設定

変数の重複を防ぐ

{% with %}{% endwith %}


if文

{% if 条件 %}
 処理
{% elseif 条件 %}
 処理
{% else %}
 処理
{% endif %}


for文

PHPのforeachに相当する

{% for 変数 in 配列 %}
 繰り返す処理
{% end for %}


マクロ

HTMLを再利用する

{% macro マクロ宣言 %}
{% endmacro %}

マクロのインポート

{% import マクロファイル as エイリアス %}

特定のマクロだけのインポートの場合は

{$ from マクロファイル import マクロ as エイリアス %}

同テンプレートがいる内に記載したマクロを使用したい場合は

{% import _self as エイリアス %}


テンプレートのインクルード

{% include テンプレートファイル %}

テンプレートに値を渡すとき

{% include テンプレートファイル with [値の配列] %}


オートエスケープ

オートエスケープに関する設定を管理する

{% autoescape 値 %}
{% endescape %}

値には'html' 'javascript' 'css'などと指定する。 オートエスケープ無効にしたいときは

{% autoescape false %}

フィルター

{ 値 | フィルター }
フィルター名 フィルターの効果
raw エスケープ処理せず生のデータを出力
escape エスケープ処理を行う
upper すべて大文字にする
lower すべて小文字にする
capitalize 最初の文字を大文字、それ以外を小文字にする
abs 絶対値出力
date(形式) 日付の値を指定の形式で出力
default(値) 指定の変数が未定義だった場合のデフォルト値を設定
first/last 配列の値で最初の項目または最後の項目を出力する
json_encode 指定の値をJSON形式テキストとして出力
length 配列やテキストで要素数を返す
merge(配列) 配列に対して引数指定した配列をマージする
nl2br 改行部分に<br>を追加する
number_format(形式) 数値をフォーマットする
reverse テキストや配列を逆順にする
round 数値を丸める
sort 配列をソート
split(区切り文字) テキストを引数の区切り文字で分割した配列を返す
trim テキスト前後の空白文字を削除
url_encode テキストをURLエンコードする


{% %}で値や変数を利用する際にも使える

{$ set arr = [4,3,1,5,2] | sort %}