Php 使用gettext在Smarty foreach循环上转换变量名
Smarty 3 foreach循环和gettext翻译有问题。 在我的控制器中,我从MySQL数据库截取变量,然后创建一个数组: 控制器:Php 使用gettext在Smarty foreach循环上转换变量名,php,foreach,smarty,gettext,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); 模板:
array_categories[] = array(
'name_cat_it' => $name_cat_it,
'name_cat_en' => $name_cat_en,
);
$smarty->assign('array_cat', $array_categories);
模板:
{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可以是'it'o'en'。
这在foreach循环中是可能的吗?
在循环之外,我对元标题或元描述这样做没有问题
非常感谢
M是的,您可以使用时间变量组成名称:
{$name_lang='name_cat_'|cat:$lang}
{foreach name=categorie key=key item=value from=$array_cat}
{$value.$name_lang}
{/foreach}