繁体   English   中英

Symfony2:如何用全局Twig变量替换某个字符串?

[英]Symfony2: How to replace a certain string with a global Twig variable?

我在config.yml中有以下内容

twig:
    globals:
        locale_list_sg: Singapore
        locale_list_cn: China

在我的树枝模板中,我想基于一个参数获取值“ Singpaore”和“ China”。 因此,我将它们连接起来并显示:

{{'locale_list_' ~ countryId}}

但是,上面的代码将显示locale_list_sg而不是进入config.yml并提取值。

使用更简单的方法:

config.yml

twig:
    globals:
        locale_list: 
            sg: Singapore
            cn: China

模板:

{{ locale_list[country_id] }}

据我所知,Twig会将字符串解释为字符串。 它不能确定变量变量……它不是一个漂亮的方法,而是一种解决方法(假设您不打算重新键入就拥有有限的配置选项集:

{{
    ('locale_list_' ~ countryId)|replace({
        'locale_list_sg': locale_list_sg,
        'locale_list_cn': locale_list_cn
    })
}}

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM