Twig for文の基本
twig
{% for product in products %}
<h3>{{ product.name|e }}</h3>
<p>{{ product.price|number_format }}円</p>
{% else %}
<p>商品はありません</p>
{% endfor %}forに続けてelseを書くと、対象が空の時の表示も同じブロック内で管理できます。
keyとvalueを同時に取得する
twig
{% for code, label in categories %}
<option value="{{ code|e('html_attr') }}">{{ label|e }}</option>
{% endfor %}loop変数で番号・先頭・末尾を判定する
twig
{% for item in items %}
<li class="{{ loop.first ? 'is-first' : '' }}">
{{ loop.index }}. {{ item.name|e }}
{% if loop.last %}<span>最後</span>{% endif %}
</li>
{% endfor %}- ▸loop.indexは1始まり、loop.index0は0始まり
- ▸loop.firstとloop.lastで先頭・末尾を判定
- ▸表示件数を絞る時はPHP側や取得処理側での制御も検討する
