2014-04-09 2 views
0

나는 웹에 두 가지 언어를 사용하고 있으며 사용자가 어떤 언어를 선택하면 활성 언어 중 하나를 활성화하려고합니다. 나는 현재 언어의 값 ({$의 current_language})와 스마티 변수에 할당 .EN 활성 내 CSS 파일 활성 플래그 설정하고, .RU 활성, 그리고 썼다 코드Smarty 현재 언어

{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 언어 목록이 배열에 없습니다.

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

:

답변

1

아마 그런 걸 수 있도록 "색상 : 녹색;" 활성 클래스에서 inside로 바꿀 수 있습니다

.tpl 코드에서 <style> </style>을 사용하는 것에 대해 걱정하지 마십시오. 괜찮습니다.

+0

두 번째 정상적으로 작동하지 않는다, 그것은 mby가 실현 될 수있는 나의 마음 방법이다 :). 그러나 고마워. – kxc

+0

어쩌면 그럴 수 있습니다. Xawier