在树枝中使用字符串变量作为对象名称
using a string variable as object name in twig
Twig 中有没有办法使用变量作为对象名?
像这样:如果定义了 foo 则使用 foo 的值作为对象的名称,如果没有定义则使用任意字符串?
这个例子没有用,但我希望它能说明这个想法:
{% for block in [foo is defined ? foo : 'someThing'].someProperty %}
因此,如果未定义 foo,结果将是
someThing.someProperty
如果 foo 是字符串“someThingElse”,它将是
someThingElse.someProperty
每个变量都存储在特殊变量 _context
中,将其与过滤器 default
链接起来以处理 foo
可能未定义的问题,
{% for block in _context[foo|default('someThingElse')].someProperty %}
{{ block }}
{% endfor %}
Twig 中有没有办法使用变量作为对象名?
像这样:如果定义了 foo 则使用 foo 的值作为对象的名称,如果没有定义则使用任意字符串?
这个例子没有用,但我希望它能说明这个想法:
{% for block in [foo is defined ? foo : 'someThing'].someProperty %}
因此,如果未定义 foo,结果将是
someThing.someProperty
如果 foo 是字符串“someThingElse”,它将是
someThingElse.someProperty
每个变量都存储在特殊变量 _context
中,将其与过滤器 default
链接起来以处理 foo
可能未定义的问题,
{% for block in _context[foo|default('someThingElse')].someProperty %}
{{ block }}
{% endfor %}