使用gettext在Smarty foreach循环上翻译变量名称

时间:2016-07-09 10:08:22

标签: php foreach smarty gettext

我对Smarty 3 foreach循环和gettext翻译有疑问。 在我的控制器中,我拦截了MySQL数据库中的变量,然后我创建了一个数组:

控制器:

array_categories[] = array(
            'name_cat_it' => $name_cat_it,
            'name_cat_en' => $name_cat_en,
);
$smarty->assign('array_cat', $array_categories);

TEMPLATE:

{foreach name=categorie key=key item=value from=$array_cat}
{$value.name_cat_it}
{/foreach}

直到现在一切正常,但我想做这样的事情:

{foreach name=categorie key=key item=value from=$array_cat}
{$value.name_cat_{$lang}}
{/foreach}

$ lang可以'它' o' en'。 这可能在foreach循环中吗? 在循环之外,我对元标题或元描述没有问题。

非常感谢!

中号

1 个答案:

答案 0 :(得分:1)

是的,您可以使用时间变量来组成名称:

{$name_lang='name_cat_'|cat:$lang}    
{foreach name=categorie key=key item=value from=$array_cat}
{$value.$name_lang}
{/foreach}