Интересная, простая реализация переключения языков (решено)
Созрела у меня глубокой ночью одна интересная идея, на своём сайте я уже использую плагин переключения языков (http://livestreetcms.com/addons/view/139/) и впрочем, как любой веб-мастер, желающий улучшить юзабилити сайта я всячески пытаюсь извратиться. Предупреждаю сразу, мой топик из темы: «пытался сделать сам, вышло… но не до конца» и несёт в себе скорее просьбу помочь, чем полноценную реализацию.
Если все вместе реализуем подобную вещь, я думаю очень многим это пригодится.
Добро пожаловать под кат!
Установив плагин, выглядит переключатель довольно функционально, вот так:
Задумал я вот, что: неактивный язык попросту не показывать. Выглядеть это будет примерно вот так:
Вобще выводится этот блок с помощью цикла, вот так:
Изначальная цель — это сделать флажок, при нажатии на который меняется язык. Я пытался сделать с помощью css (использовав для активного елемента display:none), но там путаница такая выходит.
Товарищи знатоки, а можно ли сделать так? Убрать цикл и сделать два условных оператора — если сейчас язык==russian, то показываем только ссылку при нажатии на которую язык меняется на английский и наоборот — если язык==english, то показываем только ссылку при нажатии на которую язык меняется на русский.
В программировании я не силён, поэтому очень надеюсь на помощь знающих людей, на вашу помощь.
Если все вместе реализуем подобную вещь, я думаю очень многим это пригодится.
Добро пожаловать под кат!
Установив плагин, выглядит переключатель довольно функционально, вот так:
Задумал я вот, что: неактивный язык попросту не показывать. Выглядеть это будет примерно вот так:
Вобще выводится этот блок с помощью цикла, вот так:
{foreach from=$AllLanguages item=oOneLang}
<div class="OneLang {if $oOneLang==$oCurrentLanguage}active{/if}">
<a href="?{$URLToChangeLang}={$oOneLang|escape:'url'}">{$oOneLang|escape:'html'}</a>
</div>
{/foreach}
Изначальная цель — это сделать флажок, при нажатии на который меняется язык. Я пытался сделать с помощью css (использовав для активного елемента display:none), но там путаница такая выходит.
Товарищи знатоки, а можно ли сделать так? Убрать цикл и сделать два условных оператора — если сейчас язык==russian, то показываем только ссылку при нажатии на которую язык меняется на английский и наоборот — если язык==english, то показываем только ссылку при нажатии на которую язык меняется на русский.
В программировании я не силён, поэтому очень надеюсь на помощь знающих людей, на вашу помощь.
7 комментариев
вот так ваша задача решается.
Возможно я не достаточно правильно описал, но я планирую сделать ссылки картинками.
Хотите — пишите так, просто цикл из расчета того, что языков может быть много. Добавите в конфиге ещё и украинский язык и что, будете переписывать модуль заново?
Сделайте тогда уже как-то так:
и положите в папку вашего скина в images/languages файлы изображений ваших языков в виде russian.png и english.png