Newsflash

Не успели разработчики Joomla выложить новую версию, как появилась информация о том, что данный релиз достаточно сырой, и в нем отсутствует обратная совместимость с предыдущими версиями. Т.е. после обновления на версию 1.0.13 дороги назад нет.
 
powered_by.png, 1 kB
Home arrow Блог arrow Как сделать верхнее и нижнее меню мультиязычным?
Как сделать верхнее и нижнее меню мультиязычным? Версия в формате PDF Версия для печати Отправить на e-mail
Написал Administrator   
Friday, 12 May 2006

Есть множество сравнительно простых варианта.

1. Элементы навигации вложить в языковые файлы системы, тем самым при выборе определенного языка в навигации будут выведены именно те элементы которые предназначены только дня него.
В языковые константы можно вкладывать не только фразы, но и HTML код, с соблюдением синтаксиса PHP.

Есть множество сравнительно простых варианта.

1. Элементы навигации вложить в языковые файлы системы, тем самым при выборе определенного языка в навигации будут выведены именно те элементы которые предназначены только дня него.
В языковые константы можно вкладывать не только фразы, но и HTML код, с соблюдением синтаксиса PHP.
Пример:
В руском языковом файле для графической ссылки на главную указываем:

define("_NAV_HOME","<img border='0' src='images/home_ru.gif' width='1' height='1'>");

Для английской аудитории:

define("_NAV_HOME","<img border='0' src='images/home_en.gif' width='1' height='1'>");

После этого в соответствующем файле системы (для верхней навигации это скорее всего будет файл header.php) дописываем в массив вывода шаблона новое значение:

   $template->assign_vars(array(
        'TOPNAVHOME' => _NAV_HOME)
    );

Ну и выводим все это дело в соответствующем файле оформления

2. Можно воспользоваться системной константой определения текущей языковой версии _SNSS_LANG, и создавая условие выводить ту или иную навигацию, к примеру, в том же файле header.php для верхней навигации пишем:

    if(_SNSS_LANG == "ru") { $nav_block = "Содержание навигации для русской аудитории"; }
    else if(_SNSS_LANG == "en") { $nav_block = "Содержание навигации для англоязычной аудитории"; }

И т.д. в зависимости от количества языков в системе

3. Можно воспользоваться логикой подставления значения для графических объектов, к примеру, для графической кнопки "На главную" создаем иконки со следующими названиями:
ru_navhome.gif
en_navhome.gif и т.д.
Снова в файле header.php создаем элементы вывода в шаблоне

    $nav_home = ""._SNSS_LANG."_navhome.gif";
    $template->assign_vars(array(
        'TOPNAVHOME' => $nav_home)
    );

Т.е. название файла графики будет генерироваться автоматически в зависимости от текущей языковой версии.

Т.е. как видите вариантов множество. И к тому что я перечислил можно прибавить еще, но думаю что и этого должно хватить на все случаи жизни-)

Последнее обновление ( Friday, 24 November 2006 )
 
< Пред.
© 2010 Лучшие бесплатные cms (система управления сайтом) на php можно скачать у нас: joomla, mamba, php nuke
Joomla! is Free Software released under the GNU/GPL License.
фотографии и фото звёзды на Smachno  - все поздравления на art-inform.ru CMS - это аббревиатура от Content Management System, что в дословном переводе - Система Управления контентом сайта. Иногда CMS называют "движок" сайта.  - Лучшие акустические системы в москве  - доставка ноутбуков на дом Система управления контентом - это программное обеспечение, которое позволяет разрабатывать и поддерживать динамические информационные Web сайты. Фотоаппараты canon 40d, nikon d3 - shopfoto.ru
Яндекс цитирования