{% block page %}
<ul class="gallery">
{% set foo = 0 %}
{% for products in prodArr %}
{% if foo % 4 == 0 %}
<ul class="slides">
<li>Product</li>
</ul>
{% else %}
<li>Another Product<li> // this
{% endif %}
{% set foo = foo + 1 %}
{% endfor %}
</ul>
{% endblock %}
在其他情况下,我希望li
会将ul
附加到课程幻灯片中。这可能吗?
我希望我的HTML看起来像这样:
<ul class="gallery">
<ul class="slides">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="slides">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</ul>
答案 0 :(得分:0)
Twig有embed
和include
,但在您的情况下,您可以像这样重构您的代码:
// UPDATED:
<ul class="gallery">
{% for chunk in products|batch(4) %}
<ul class="slides">
{% for product in chunk %}
<li>{{ product.title }}</li> // assuming you have title property
{% endfor %}
</ul>
{% endfor %}
</ul>
P.S。不幸的是我无法测试它,但你会得到一般的想法;)
答案 1 :(得分:0)
是的,这是可能的。但在这种情况下,你必须这样纠正:
{% block page %}
<ul class="gallery">
{% set foo = 0 %}
{% for products in prodArr %}
{% if foo % 4 == 0 %}
**<ul class="slides">**
{% endif %}
<li>Product</li>
{% if foo % 4 == 3 or foo == (prodArr|length - 1) %}
**</ul>**
{% endif %}
{% set foo = foo + 1 %}
{% endfor %}
</ul>
{% endblock %}