Добрый день, уважаемый читатель!
В этой первой статье из нового раздела
Joomla мне бы хотелось
рассказать о процессе создания
многоязычного сайта с помощью CMS
Joomla 1.7. В свое время я искал информацию
по этому вопросу на русском языке, но к
сожалению не нашел. Поэтому я решил
написать данную статью, основой для
которой стало англоязычное руководство
по созданию многоязычного сайта на CMS
Joomla 1.7, которое я немного дополнил
своими комментариями.
Итак, начнем.
Для начала, следует отметить то, что
если в Joomla 1.5.х многоязычность
сайта обеспечивалась главным образом
сторонними компонентами (например
Joomfish), то начиная с версии
1.6 Joomla предлагает подобную
функциональность своими силами. Joomla
1.7.х продолжила развитие данной
функции. Одним из главных улучшений
встроенного механизма создания
многоязычного сайта в версии 1.7.х является
«ассоциация меню». На практике это
выражается в следующем: если в версии
1.6 при смене языков в браузере пользователя
перенаправляло с просматриваемой им
страницы текущей языковой версии на
домашнюю страницу выбираемой им языковой
версии, то в версии 1.7 можно настроить
«ассоциации меню» - т. е. установить
соответствие статьи одной языковой
версии с такой же статьей другой языковой
версии. В результате этого, пользователь
останется на той же странице, которую
просматривал, но только изменится язык
содержимого.
Процесс создания многоязычного сайта
на Joomla 1.7 состоит из
следующих этапов:
- Установите требуемые языковые файлы для каждого языка, который вы хотите использовать в своем сайте.
- Создайте «языки содержания». Для этого перейдите в меню «Расширения» - «Менеджер языков» («Extensions» - «Language Manager»).В открывшейся странице перейдите на вкладку «Содержание» («Contents») и нажмите кнопку «Новый» («New»). Создайте новый «язык содержания», заполнив данные о нем в окне редактора нового языка.После этого, добавленный Вами «язык содержания» будет доступен во всех соответствующих меню админки Joomla 1.7
- Теперь создадим структуру нашего будущего многоязычного сайта. Для этого сначала создадим для каждого языка, который мы хотим использовать, корневую категорию, которую привяжем к этому языку (в окне создания категории из выпадающего списка языков выберите желаемый язык для этой категории вместо указанного там значения «Все» («All»)). При этом в названии категории желательно указать, к какому языку она относится.Если необходимо, создайте дочерние категории для каждой корневой (родительской) категории, при этом язык дочерних категорий должен соответствовать языку родительской категории. В каждой категории создайте необходимое Вам количество статей, следуя правилу «язык статьи равен языку категории».
- Когда структура сайта готова, можно приступать к созданию меню. Как и в случае со статьями\категориями, придется создавать меню для каждого «языка содержания».При этом все пункты меню должны соответствовать тому языку, который выбран для редактируемого меню.В каждой версии меню (для определенного языка) один из пунктов должен указывать на домашнюю страницу (для этого же языка).Пункты меню определенной языковой версии должны отображать содержание такого же языка.Как только мы присвоем для каждого меню домашнюю страницу, а админке мы увидим напротив меню соответствующий языку меню флажок.В языковом менеджере на вкладке «содержание» («content») можно увидеть индикатор того, что для определенного «языка содержания» есть соответствующая ему домашняя страница. ВАЖНО: если «язык содержания» не содержит домашнюю страницу (в таблице напротив него стоит значение «Нет» («No»)), он будет недоступен посетителям вашего сайта.
- Чтобы отобразить созданные нами меню, необходимо для каждого из них создать и опубликовать свой модуль, опять таки привязанный к языку («язык модуля» должен соответствовать «языку меню», которое он будет отображать).При этом модуль, отображающий меню «по умолчанию» (которое создается автоматически при установке Joomla 1.7) необходимо снять с публикации.
- Следующим шагом будет создания «стиля шаблона» для каждого «языка содержания». Это очень удобная вещь, т. к. позволяет отображать свой стиль шаблона в зависимости от языка. (например, логотип сайта может меняться в зависимости от выбранного пользователем языка, модуль может быть доступен в одной языковой версии и недоступен в другой и др.). Для создания стиля шаблона, необходимо скопировать шаблон в окне менеджера шаблонов,дать копии осознанное имя (например, связанное с языком, для которого будет использована данная копия шаблона) и настроить полученную копию (привязать ее к языку).
- Выполнив предыдущие шаги, нам осталось только создать модули для выбора языков и опубликовать их, чтобы пользователи могли выбирать язык сайта. Как и прежде, каждый модуль привязан к соответствующему «языку содержания».
- Заключительный этап. Нам осталось только включить плагин «фильтра языков» (Language Filter plug-in) в менеджере плагинов.Если мы хотим использовать «ассоциации меню» (т. е. чтобы пользователь при смене языков оставался на той же странице, что он и просматривал, но в другой языковой версии, вместо того, чтобы его перенаправляло на домашнюю страницу выбранной им языковой версии), в плагине «фильтра языков» необходимо установить соответствующий переключатель.Кроме того, необходимо настроить для каждого желаемого пункта меню соответствующие ассоциации с аналогичными пунктами меню других языковых версий.
В заключении хочется сказать, что
функциональность новой Joomla
позволяет сделать вещи, для реализации
которых раньше необходимо было
использовать сторонние программы. Из
данного примера видно, что многоязычность
работает «из коробки», плюс к этому,
если раньше чтобы показать различный
логотип или модуль в зависимости от
языка сайта мне необходимо было
использовать специальные плагины, то
сейчас это также можно сделать стандартными
средствами Joomla 1.7
На этом все. До свидания!