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

时间:2014-02-26 03:44:13

标签: php symfony twig

我在config.yml

中有以下内容
twig:
    globals:
        locale_list_sg: Singapore
        locale_list_cn: China

在我的树枝模板中,我想基于一个论点得到“Singpaore”和“China”的价值观。 因此,我将它们连接起来并显示:

{{'locale_list_' ~ countryId}}

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

2 个答案:

答案 0 :(得分:5)

使用更简单的方法:

<强> config.yml

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

模板:

{{ locale_list[country_id] }}

答案 1 :(得分:0)

据我所知,Twig会将字符串解释为字符串;它不能确定变量...它不是很漂亮但是一种解决方法(假设你有一组有限的配置选项,你不介意重新输入:

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

希望有所帮助。