繁体   English   中英

Twig-打印数组,不包含空值

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM