在twig中 for循环不支持break和continue跳出循环, 但是为了解决类似的问题也有不错的解决方案
{% set invisibleNames = ['admin_v2.course.basic.basic_tab.delete_submit_btn', 'admin_v2.course.basic.basic_tab.clone_btn'] %}
{% for permission in permissions if courseSet.sourceCourseSetId <= 0 or permission.name not in invisibleNames %}
<li>
{% if permission.visible is defined %}
{% if eval_expression(permission.visible) %}
{{ self_macro.menu_link_html(_context, permission, permission.class|default('')) }}
{% endif %}
{% else %}
{{ self_macro.menu_link_html(_context, permission, permission.class|default('')) }}
{% endif %}
</li>
{% endfor %}
注意看第二行, 这个就很有效的解决了需要用到break和continue的问题, 也不会有在for循环内嵌套多层if语句的垃圾代码
网友评论