如何正确扩展树枝三元语句?

How to properly extend twig ternary statement?

我正在尝试在一个新的地方包含一个模式,并且为了为模板指定一个合适的控制器,我通过从其他 3 个模板传递的不同值来区分它们 - 在我的例子中,它们是:

{% include '@path' %}
{% include '@path' with { foo: 'a' } %}
{% include '@path' with {foo: 'b'} %}

这些是调用模板中的条件,我想出了这些条件来区分现在应该使用哪个控制器

本来只是:

{% set controller = foo | default('') == 'a' ? 'ctrl' : 'ctrl2' %}

并且它工作正常。

{% set controller = foo | default('') == 'a' ? 'ctrl' : 'b' ? 'ctrl' : 'ctrl2' %}

但是现在修改后没法把return变成'ctrl2'的值,所以modal不显示了

你能帮忙吗?这是否足以描述此问题的信息量? 谢谢。

您在第二个条件中忘记了一个元素:

{% set controller = foo | default('') == 'a' ? 'ctrl' : (foo | default('') == 'b') ? 'ctrl' : 'ctrl2' %}