2021/07/02
Twigの便利なフィルター
最近はLaunchCartのテンプレートについて勉強していますので、
Twigでよく使われるフィルターを調べてみました。
今回はそれを紹介していきたいと思います。
配列の一番最初を取得
1 2 3 4 5 6 | {# 1 #} {{ [ 1, 2, 3 ]|first }} {# HOGE #} {{ { hoge: 'HOGE', fuga: 'FUGA', foo: 'FOO' }|first }} {# a #} {{ 'abc'|first }} |
first フィルタは、配列の最初の「要素」、または文字列を返します。
配列の一番最後を取得
1 2 3 4 5 6 | {# 3 #} {{ [ 1, 2, 3 ]|last }} {# FOO #} {{ { hoge: 'HOGE', fuga: 'FUGA', foo: 'FOO' }|last }} {# c #} {{ 'abc'|last }} |
last フィルタは、配列の最後の「要素」、または文字列を返します。
配列をマージ
1 2 3 4 | {# 1, 2, 3, 4 #} {{ dump([ 1, 2 ]|merge([ 3, 4 ])) }} {# { hoge: 'HOGE', fuga: 'FUGA', foo: 'FOO' #} {{ dump({ hoge: 'HOGE', fuga: 'XXX' }|merge({ fuga: 'FUGA', foo: 'FOO' })) }} |
merge フィルタは、別の配列との配列をマージします。既存の値の最後に新しい値が追加されます。
Join
1 2 3 4 5 6 | {{ [1, 2, 3]|join }} {# returns 123 #} {{ [1, 2, 3]|join('|') }} {# outputs 1|2|3 #} {{ [1, 2, 3]|join(', ', ' and ') }} {# outputs 1, 2 and 3 #} |
joinフィルタは、配列の項目を連結した文字列を返します。要素間の区切り文字はデフォルトでは空の文字列ですが、オプションの最初のパラメータで定義することができます。また、第2のパラメータを追加することができます。
指定したところで配列を切り取る
1 2 3 4 5 6 7 8 | {{ '12345'|slice(1, 2) }} {# outputs 23 #} {{ '12345'[:2] }} {# outputs "12" #} {{ '12345'[2:] }} {# outputs "345" #} |
slice フィルタは、配列のスライス、または文字列を切り取ります。パラメータに開始と長さを入力し使用することができます。
数字をコンマで区切ったり、小数点切り詰めたり
1 2 3 4 | {# 1,000,000 #} {{ 1000000.234|number_format }} {# 1,000,000.23 #} {{ 1000000.234|number_format(2, '.') }} |
number_formatフィルタは追加の引数を使用して、小数点以下の桁数の区切り文字を制御することができます。
Author Profile
スターフィールド編集部
SHARE