如何在Twig中“打破”循环?

3

我想在Twig模板引擎中使用break

{% for key, db_staff_language in db_staff_languages %}
  {% for staff_language in model_data.staff_languages %}
    {% if staff_language.id == db_staff_language.id %}
        <option value="{{db_staff_language.id}}" selected="selected">{{db_staff_language.staff_languages_data_translation[0].value}}</option>
    {% else %}
        <option value="{{db_staff_language.id}}">{{db_staff_language.staff_languages_data_translation[0].value}}</option>
    {% endif %}
    {% break %}   {# <-- Not working #}
  {% endfor %}
{% endfor %}

由于我无法解决Twig的问题,我尝试了其他方法,比如:

-----------------------------------------------
{% autoescape true %}
<?php echo 'test' ?>
{% endautoescape %}
-----------------------------------------------
{% php %}
<?php echo 'test' ?>
{% endphp %}
-----------------------------------------------
{% verbatim %}
<?php echo "test"; ?>
{% endverbatim %}
-----------------------------------------------
{{ raw }}
<?php echo "test"; ?>
{{ endraw }}
-----------------------------------------------

这个问题有解决方案吗?

引用文档中的内容:"与PHP不同,Twig中无法在循环中使用break或continue。但是,您可以在迭代期间过滤序列,从而允许您跳过项目。" - Marcello Mönkemeyer
与PHP不同,Twig模板中无法在循环中使用break或continue语句。可以根据此处文档所述,通过添加条件来实现类似的功能。 - Matteo
2
可能是如何在Twig模板中使用break或continue来终止/跳过for循环?的重复问题。 - Ron van der Heijden
1个回答

4

Twig不包含break语句。根据官方手册,相当的指令是使用for + if条件


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接