【问题标题】:i18n Smarty variable into lang()i18n Smarty 变量转换为 lang()
【发布时间】:2014-03-13 13:37:41
【问题描述】:

我想对 PHP 上的 mysql 表中的变量使用 smarty 循环

{section name=row loop=$userCoursesList}
<h1> {lang('profile.{$userCoursesList[row].course_name}')} </h1>
{/section}

例如,输出应该是:

{lang('profile.english}')}
{lang('profile.french}')}
{lang('profile.business}')}

但可能我没有使用正确的语法,因为如果我只写

{$userCoursesList[row].course_name}

SQL 语句正在运行并给我(英语、法语、商务)

如果我只是写:

{lang('profile.english}')}

这也有效,并从我的 .php 语言文件中为我提供了“英语语言课程”

我不知道怎么回事,如果有人可以帮助我,在此先感谢

【问题讨论】:

    标签: php mysql codeigniter internationalization smarty


    【解决方案1】:

    我不确定这是否可行,但您可以尝试:

    <h1> {lang('profile.'|cat:$userCoursesList[row].course_name)} </h1>
    

    【讨论】:

    • 伙计,你让我的一天快乐!!!非常非常感谢你。但是无论如何你能解释一下这是如何工作的吗?
    • 很高兴为您提供帮助。 cat 修饰符 (smarty.net/docs/en/language.modifier.cat.tpl) 用于连接 smarty 中的两个字符串,在这种情况下创建您想要的字符串:“profile”。加上 $userCoursesList[row].course_name 的内容。您可能可以使用双引号和反引号获得相同的结果,但我发现它更令人困惑且容易出错
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    相关资源
    最近更新 更多