我有一个包含3个项目的数组,所以在下面我将包括sub-component.twig 3次:
{% for i in array %}
<div class="my-class">
{% include "sub-component.twig" %}
</div>
{% endfor %}
但实际上我有3个略有不同的模板,我想为数组上的每次迭代加载一个不同的模板:
sub-component-1.twig
sub-component-2.twig
sub-component-3.twig
当我在模板中打印loop.index时,结果为“1”,“2”和“3”。因此,我可以使用索引来形成模板名称吗?
{% for i in array %}
<div class="my-class">
{{ loop.index }}
{% include ["sub-component-" ~ loop.index ~ ".twig"] %}
</div>
答案 0 :(得分:0)
可能是因为我使用了gulp twig,我不得不将事情分解为变量才能实现。
https://github.com/zimmen/gulp-twig
{% for i in array %}
<div class="my-class">
{% set sub-component_1 = "sub-component-" %}
{% set sub-component_2 = loop.index %}
{% set sub-component_3 = ".twig" %}
{% set sub-component_full = sub-component_1 ~ sub-component_2 ~ sub-component_3 %}
{% include sub-component_full %}
</div>
{% endfor %}