根据标题,Twig是否允许有条件的分配以及如何分配?我知道并非所有人都喜欢这些作业,但有时他们会非常乐于助人。
此:
{% if (name = attribute(mappings, property)) is defined %}
{% else %}
{% set attrs = attrs|merge(['%s="%s"'|format(name, value)]) %}
{% endif %}
...没有用,给了我错误:
未正确关闭已打开的括号。意外的标记 “运算符”的值“=”(“标点符号”,预期值为“)”)in ::第29行的tooltips.html.twig。
答案 0 :(得分:1)
你的枝条错误是因为这行
{% if (name = attribute(mappings, property)) is defined %}
Twig不喜欢条件赋值表达式,我个人也不喜欢它,它只是一个懒惰的快捷方式,潜在的问题不值得保存一些按键。
但我现在必须承认,我对此应该做的事感到困惑。您试图将attribute(mappings, property)
的结果捕获到name
但是如果失败了,那么只有才能使用name
执行某些操作,但到那时{{ 1}}除非已在模板中的其他位置定义,否则不会有值。