Twig是否允许在条件和如何分配?

时间:2012-07-10 20:04:46

标签: twig

根据标题,Twig是否允许有条件的分配以及如何分配?我知道并非所有人都喜欢这些作业,但有时他们会非常乐于助人。

此:

{% if (name = attribute(mappings, property)) is defined %}
    {% else %}
    {% set attrs = attrs|merge(['%s="%s"'|format(name, value)]) %}
{% endif %}

...没有用,给了我错误:

  

未正确关闭已打开的括号。意外的标记   “运算符”的值“=”(“标点符号”,预期值为“)”)in   ::第29行的tooltips.html.twig。

1 个答案:

答案 0 :(得分:1)

你的枝条错误是因为这行

{% if (name = attribute(mappings, property)) is defined %}

Twig不喜欢条件赋值表达式,我个人也不喜欢它,它只是一个懒惰的快捷方式,潜在的问题不值得保存一些按键。

但我现在必须承认,我对此应该做的事感到困惑。您试图将attribute(mappings, property)的结果捕获到name但是如果失败了,那么只有才能使用name执行某些操作,但到那时{{ 1}}除非已在模板中的其他位置定义,否则不会有值。