[英]Twig - print array without empty values
我有這樣構造的數組
add_to_context('custom', [
[
'title' => 'My title',
'link' => 'My link'
],
[
'title' => 'My title 1',
'link' => 'My link 1'
]
]);
鑒於我有簡單的循環
{% for item in custom %}
<li>
<h1>{{ item.title }}
<img src="{{ item.link|e }}" target="_blank">
</li>
{% endfor %}
而且一切正常。 但是我想打印兩個鍵都帶有值的元素。 例如,如果我有
[
'title' => '',
'link' => 'mylink'
]
我不想打印這個。 如果鏈接為空,我也不要。 如果兩者都為空-相同。 我只想在兩個鍵都有值的情況下打印它。 那么,我該怎么做呢?
也許你可以做這樣的事情。
Twig甚至為此提供了一些內置功能:
<ul>
{% for item in custom if item.title and item.link %}
<li>{{ item.title }}</li>
{% endfor %}
</ul>
我還沒有測試過,但是我認為if
語句中的and
應該起作用。
您可以在模板中添加一個簡單的測試:
{% for item in custom %}
{% if item.title|length %}
<li>
<h1>{{ item.title}}
<img src="{{ item.link|e }}" target="_blank">
</li>
{% endif %}
{% endfor %}
一般來說, “ 0” | trim表達式的計算結果為false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.