首页 > 解决方案 > 如何在 for 中应用“过滤器过滤器”而不是在 Twig 中使用“if”

问题描述

从 Twig 文档的弃用页面:

在 Twig 2.10 中不推荐在 for 标记上添加 if 条件。在“for”主体内使用过滤器过滤器或“if”条件(如果您的条件取决于循环内更新的变量)

如果我很清楚这部分:

“for”主体内的“if”条件

这样:

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

相反,这部分不清楚:

使用过滤器过滤器

任何解释如何做错和做对的例子

标签: twig

解决方案


应该是这样的(取自文档):

<ul>
    {% for user in users|filter(user => user.active) %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
</ul>

推荐阅读