category

Twig で for 文で条件分岐のフィルタを利用する

2019-10-06

先日ちょっとテンプレートを書いていて明らかにダサいなー、、、とおもっていたので @BUN にきいたところ、 Twig の for 文にはフィルタが使えるのを教えてもらった。

for - Adding a condition
https://twig.symfony.com/doc/2...

とりあえず書いたテンプレートがこんなかんじ。

{% for entry in query.all() %}
	{% for block in entry.case.case_open(1).all() %}
		{% if slug in block.case_scope %}

このループで、エントリのうち case_open のラジオボタンが有効なエントリを取り出して、それの case_scope を判定して取り出す、という感じで。

結果としては

{% for entry in query.all() %}
	{% for block in entry.case.case_open(1).all() if slug in block.case_scope %}

で問題なく動いた。
なるほどなー。

Twig周りの書き方とか色々教えてもらったので、またハマったときに思い出せるようにメモ。
多分思い出す前に質問しそうではある・・・。