我的网络上有两种语言,当用户从中选择任何语言时,我想将其中一种语言设置为活动状态。我使用当前语言的值({$ 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我的数组中没有我的语言列表。
答案 0 :(得分:1)
也许做出类似的事情:
<style>
.{$current_lang}{
color: green;
}
</style>
“颜色:绿色;”你可以用活跃的班级替换内部
不要担心在.tpl代码中使用<style> </style>
,没关系。