簡體   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