Smarty当前的语言

时间:2014-04-09 16:13:31

标签: php css smarty multilingual

我的网络上有两种语言,当用户从中选择任何语言时,我想将其中一种语言设置为活动状态。我使用当前语言的值({$ current_language})分配给Smarty变量,在我的CSS文件活动标志中设置.en-active和.ru-active,并编写该代码

    {if $current_lang eq 'ru'}
        {assign var='ru_active' value="ru-active"}
    {elseif $current_lang eq 'en'}
        {assign var='en_active' value="en-active"}
    {/if}
    <a href="index.php?lang=ru" class="ru {$ru_active}"></a>
    <a href="index.php?lang=en" class="en {$en_active}"></a>

所有工作都很好,但是还有更干净的方法吗?

我尝试做其他事情,如果没有检查:

    {assign var='ru_active' value={$current_lang|cat:"-active"}
    {assign var='en_active' value={$current_lang|cat:"-active"}

    <a href="index.php?lang=ru" class="ru {$ru_active}"></a>
    <a href="index.php?lang=en" class="en {$en_active}"></a>

但我不认为这是个好主意。所以也许有人可以建议真正冷静的方法来做到这一点。

P.S我的数组中没有我的语言列表。

1 个答案:

答案 0 :(得分:1)

也许做出类似的事情:

<style>
.{$current_lang}{
   color: green;
}
</style>

“颜色:绿色;”你可以用活跃的班级替换内部

不要担心在.tpl代码中使用<style> </style>,没关系。