[英]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.