【问题标题】:Twig loop and skip in loopTwig 循环和跳入循环
【发布时间】:2015-01-15 17:14:35
【问题描述】:

首先,我对 Twig 很陌生!

我正在尝试遍历一系列产品,如下所示:

{% for product in products %}

我进一步尝试做的是检查product.title 之一是否等于名称lookbook。 如果是这样,那么该产品无法显示在我的模板/页面中。我试过的东西只是显示一个空的div,而不是不显示任何东西。

有没有办法做到这一点?

到目前为止我所拥有的:

   {% for product in products %}
   {% if product.title == 'lookbook' %}
      .... dont show?? ....
   {% else %}
   <div class="product>
     <h3>{{ product.fulltitle }}</h3>  
     <a href="{{ product.url | url }}" title="{{ product.fulltitle }}">
       <img src="{{ product.image | url_image('220x220x2', product.fulltitle) }}" />
     </a>
   </div>

   {% endif %}
   {% endfor %}

我也试过了:

{% for product in products and product.title != 'lookbook' %}

提前致谢!

【问题讨论】:

  • 你确定它有标题集吗?

标签: symfony twig


【解决方案1】:

试试:

{% for product in products %}
    {% if product.title != 'lookbook' %}
        <div class="product>
             <h3>{{ product.fulltitle }}</h3>  
             <a href="{{ product.url | url }}" title="{{ product.fulltitle }}">
               <img src="{{ product.image | url_image('220x220x2', product.fulltitle) }}" />
             </a>
        </div>
    {% endif %}
{% endfor %}

【讨论】:

【解决方案2】:

Official doc :

{% for user in users if user.active %}
        <li>{{ user.username|e }}</li>
 {% endfor %}

在你的情况下:

{% for product in products if product.title != 'lookbook' %}

2021 年 8 月更新

提示

从 Twig 2.10 开始,请改用 filter 过滤器或 if 条件 在 for 体内(如果您的条件取决于更新的变量 在循环内部并且您没有使用循环变量)。

【讨论】:

    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多