Yams: Настройка ManagerManager
- Дополнения
- Yams
- Настройка ManagerManager
Yams: Настройка ManagerManager
Независимо от того, что используется, в файле с правилами или чанке с правилами в конце надо прописать:
require ($modx->config['base_path'] . 'assets/modules/yams/yams.mm_rules.inc.php' );
Собственно, YAMS готов к работе.
В «Инструментах» > «Конфигурации» включить Дружественные URL, разрешить вложенные URL, также использовать в связке с предыдущим параметром повторяющиеся псевдонимы, тогда путь до документа в адресной строке будет выглядеть:
site.com/en/catalogue/home-video
site.com/ru/catalogue/home-video
Настройка:
Во вкладке «Модули» > «YAMS» лежат все настройки.
Настройка языков:
Собственно, исчерпывающая страница, на которой показаны языки и как их добавлять. Теги, названия для отображения в самом же языке, в других языка, выбор письма справа налево или наоборот, теги (нужны для вызовов сниппета YAMS, обозначение, группы), системное название языка, имя сервера система подставляет автоматически. Set Default – поставить язык по умолчанию, чтобы с него открывался сайт.
Дальше идёт настройка сервера, после того, как созданы все необходимые языки, YAMS создаёт правила, которые надо вписать в .htaccess, чтобы правильно работали пути и редиректы.
Это находится на следующей вкладке:
Всё содержимое из этой вкладки просто скопировать в .htaccess
Другие настройки:
Эта вкладка содержит множество настроек будущего сайта. Такие, как типы редиректов, находится ли сайт в поддиректории или в корневой папке, разбивать ли языки при редактировании документов на табы, либо пускать списком на одной странице. По умолчанию сейчас стоит разбивка на табы, это и удобней, редиректы выставлены тоже по умолчанию нормально.
Последняя вкладка: Multilingual Templates
Нужна для того, чтобы YAMS перекраивал панель редактирования под многоязычный сайт.
YAMS заменяет стандартные поля Pagetitle, Longtitle, Content итд TV-параметрами с окончанием _ru, _en итд, то бишь, чтобы Pagetitle страницы был привязан именно к языку и полное название TV-параметра тогда выглядит pagetitle_ru.
Как только создаётся новый шаблон, во вкладке Multilingual Templates надо ему присвоить статус многоязычного.
Также можно создавать новые TV-параметры с нужным окончанием, они автоматически будут переноситься в соответствующий таб языков.
Не рекомендуется, даже больше, нельзя убирать поле Internal Name, оно нужно для отображения названия документа в дереве слева.
Создание шаблона:
Стандартный шаблон без дополнительных вызовов других сниппетов. YAMS автоматически определяет такие поля, как [*pagetitle*], [*longtitle*], [*content*]. То есть, достаточно вставить их в шаблон, сделать во вкладке Multilingual Templates шаблон многоязычным и при редактировании документа заполнить эти поля для каждого языка, при переключении языков на сайте, они будут меняться.
Механизм переключения языков:
Создаётся, например, чанк Languages, ставится в нужном месте в шаблоне и в чанк записывается:
[[YAMS? &get=`repeat` &repeattpl=`lang_tpl` ¤ttpl=`current_lang_tpl`]]
&repeattpl=`lang_tpl` – шаблон кнопки языка
¤ttpl=`current_lang_tpl` – шаблон кнопки текущего языка
Шаблон lang_tpl выглядит, например, вот так:
(yams_name)
(yams_docr) – ссылка, сгенерированная до текущей страницы в этом или остальных языках
(yams_name) – имя языка, вписанное в табе Модули > Yams > Language Settings
¤ttpl – шаблон выбранного языка. Тоже самое, только можно добавить class="selected", ну, или что по вкусу, чтобы язык был виден, как текущий.
Точно таким же образом можно подставить и флажки вместо текста.