这有点建立在比这更好的方式吗?我在想循环,我可以添加一次,然后通过我的代码询问如果元素[1] ==“why_iclei”会发生什么?或者以某种方式把它放得更干净?这种表现是否明智,足够快?
<li class=" ">
<a href="#">why iclei</a>
<ul class="dropdown">
{% for element in elements %}
{% if element[1] == "why_iclei" %}
{% if element[2] == 1 %}
<li><a href="#">{{ element[0] }}</a></li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</li>
<li>
<a href="#">our work</a>
<ul class="dropdown">
{% for element in elements %}
{% if element[1] == "our_work" %}
{% if element[2] == 1 %}
<li><a href="#">{{ element[0] }}</a></li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</li>
在我的代码中,我的循环大约相同20次。我能以某种方式把它拿出来并从中得到所有需要的值吗?
答案 0 :(得分:1)
在一个循环中构建列表项,在标记中只输出变量
{% set icleiList = '' %}
{% set our_workList = '' %}
{% for element in elements %}
{% if element[1] == "why_iclei" and element[2] == 1 %}
{% set icleiList = icleiList ~ '<li><a href="#">' ~ element[0] ~'</a></li>' %}
{% elseif element[1] == "our_work" and element[2] == 1 %}
{% set our_workList = our_workList ~ '<li><a href="#">' ~ element[0] ~'</a></li>' %}
{% endif %}
{% endfor %}
<li class=" ">
<a href="#">why iclei</a>
<ul class="dropdown">
{{ icleiList|raw }}
</ul>
</li>
<li>
<a href="#">our work</a>
<ul class="dropdown">
{{ our_workList|raw }}
</ul>
</li>