Twig如何在变量中嵌套评估变量?

3

如果您是twig的新手,并且迄今为止还没有找到很好的答案:

我有一个TimberMenus的关联数组,每个数组对应于不同的WordPress菜单,通过菜单ID进行区分。

在Twig文件中,我想要动态检查选择哪个菜单应该显示,并评估menu_name变量。

{% if menus.{{menu_name}}.items %}

因此,如果menu_name = 'academics',我希望上面的代码评估为:

 {% if menus.academics.items %}

上述方法无法正常工作,而我似乎找不到在Twig中实现这一点的方法。

欢迎任何想法或帮助!


你尝试过使用 menus.[menu_name].items 吗? - Matteo
2个回答

6

变量部分所述,您可以使用“下标”语法([]),例如:

{%set menu_name = 'academics'%}

{{menus[menu_name].items}}

请查看这个实际案例

希望这有所帮助


1
使用attribute函数。 - DarkBee
1
嗨 @Cnote,如果这个回答或任何其他回答解决了你的问题,请考虑通过点击勾选标记来接受它。这将向更广泛的社区表明你已经找到了解决方案,并为回答者和你自己赢得一些声誉。当然,你没有义务这样做。 - Matteo
1
这正是我正在寻找的,谢谢你! - Tim Bogdanov

2

有一个attribute函数,可以访问动态属性:

{% if attribute(menus, menu_name).items %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接