0

我的问题看起来与此几乎相同是否可以将变量放入配置文件中?

我有一个控制语言的配置文件。我也有一个显示反馈的反馈 div。

现在我想分配这样的反馈:

$smarty->assign('feedback', 'the_age_of_user_' . $user->name . '_is_changed_to_' . $user->age . '_years');

nl.conf

the_age_of_user_%s_is_changed_to_%s_years=De leeftijd van gebruiker %s gewijzigd naar %s jaar

配置文件

the_age_of_user_%s_is_changed_to_%s_years=The age of user %s is changed to %s years

有谁知道我怎么能做到这一点?还是有更好的解决方案将变量分配给配置文件?

4

1 回答 1

0

对不起,但我不完全明白你想要完成什么。

在我们的项目中,我们有以下类似问题的解决方案:

语言文件:

the_age_of_user_is_changed = The age of user {user} is changed to {year} years

请注意,左侧没有 %s 或任何变量。它总是不变的。

选项1:

  1. Smarty/代码分配: $smarty->assign("VARIABLE_TO_USE_IN_TEMPLATE", getLang('the_age_of_user_is_changed', array('user' => $user->name,'year' => $user->age));

  2. 然后,在 Smarty 中,您可以使用以下代码:{$VARIABLE_TO_USE_IN_TEMPLATE}

函数 getLang 从语言文件中读取字符串信息并将所有 {symbol} 替换为相应的数据。

选项 2:

  1. 在模板中,我们有 smarty 用户空间函数: {LANG key='the_age_of_user_is_changed' name=$user->name year=$user->age} Lang 实际上是调用前面例子中的函数 getLang。

  2. 在代码中,您必须分配 user: $smarty->assign("user", $user);。之后,smarty 会自己做所有事情。

于 2012-10-25T08:38:19.123 回答