2016-07-27 46 views
0

我有3個項目組成的數組所以我包括子component.twig 3倍以下:使用loop.index作爲模板名稱的一部分以包含Twig?

{% 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

肯定,你試過嗎?任何錯誤? (可能沒有[]) – Matteo

+1

是的,你的例子工作正常(包括和不包括[]包括)。請參閱:http://twigfiddle.com/mbq9dk – Pieter

回答

0

可能是因爲我使用的是一口樹枝,我不得不打破東西伸到變量這個工作。

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 %} 
相關問題