是否可以在Twig条件语句中调用可执行函数?
我有一个路径功能,如果name变量为空,则想输出路径。现在我有这两个选项:
{% path file, 'reference' %} // calling path function
{{ file.name ?: file.path }} // Conditional
但我想要像:
{% file.name ?: path file, 'reference' %}
答案 0 :(得分:1)
看起来ModelState
是标记而不是函数。如果它是一个函数,你可以像这样使用它:
path
相比之下,Twig有一个函数{% path(file, 'reference') %}
,而在Symfony中你可以使用同名的标签。以下是您如何使用它们:
dump
你看到了区别吗?
如果{{ dump(foo) }} {# function #}
{% dump foo %} {# tag #}
是一个函数,那么这两个函数都可能成为可能:
path
两者都是相同的,除了第二个没有打印任何东西。
由于{{ file.name ?: path(file, 'reference') }}
{% do file.name ?: path(file, 'reference') %}
似乎是一个标签,我不认为它可以做你所要求的。 (它也可能是标签和功能。如果是这种情况,请使用功能而不是标签。)
编辑:您使用的是Symfony吗?在Symfony中有一个Twig function path
,但我不认为那里有一个Twig标签path
。您确定您的代码(path
)是否正确?