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 %}