<![CDATA[ Созданые мультиязычного сайта на MODx (0.9.6.1) - My Forums]]> https://forums.modx.com/thread/?thread=63002 <![CDATA[Re: &#1057;&#1086;&#1079;&#1076;&#1072;&#1085;&#1099;&#1077; &#1084;&#1091;&#1083;&#1100;&#1090;&#1080;&#1103;&#1079;&#1099;&#1095;&#1085;&#1086;&#1075;&#1086; &#1089;&#1072;&#1081;&#1090;&#1072; &#1085;&#1072; MODx (0.9.6.1)]]> https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371695 banditos Aug 02, 2011, 08:32 AM https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371695 <![CDATA[Re: &#1057;&#1086;&#1079;&#1076;&#1072;&#1085;&#1099;&#1077; &#1084;&#1091;&#1083;&#1100;&#1090;&#1080;&#1103;&#1079;&#1099;&#1095;&#1085;&#1086;&#1075;&#1086; &#1089;&#1072;&#1081;&#1090;&#1072; &#1085;&#1072; MODx (0.9.6.1)]]> https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371694 elastic я с этой версией пока работал. Не вкурсе как на других, может там структура разная. Или нет?]]> Sky-lin3 Nov 24, 2010, 10:10 AM https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371694 <![CDATA[Re: &#1057;&#1086;&#1079;&#1076;&#1072;&#1085;&#1099;&#1077; &#1084;&#1091;&#1083;&#1100;&#1090;&#1080;&#1103;&#1079;&#1099;&#1095;&#1085;&#1086;&#1075;&#1086; &#1089;&#1072;&#1081;&#1090;&#1072; &#1085;&#1072; MODx (0.9.6.1)]]> https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371693 elastic Nov 24, 2010, 08:12 AM https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371693 <![CDATA[&#1057;&#1086;&#1079;&#1076;&#1072;&#1085;&#1099;&#1077; &#1084;&#1091;&#1083;&#1100;&#1090;&#1080;&#1103;&#1079;&#1099;&#1095;&#1085;&#1086;&#1075;&#1086; &#1089;&#1072;&#1081;&#1090;&#1072; &#1085;&#1072; MODx (0.9.6.1)]]> https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371692 Создание мультиязычного сайта на MODx(0.9.6.1) в мельчайших подробностях

Предположим нам нужно создать сайт на двух языках. Русский и Английский.

1) Входим в панель управления, создаём новый документ, назовём его "ru".
Данный документ будет контейнером (Настройка страницы -> Контейнер (содержит дочерние документы) - поставить галочку).

2) создаём второй контейнер, аналогичный первому, но с названием "en".

3) создаём сниппет (Ресурсы -> Управление ресурсами -> Сниппеты -> Новый сниппет).
Назовём сниппет redirect. Код сниппета (php):
<?php
$url = $modx->makeUrl($id);
ob_end_clean();
header('Location: '.$url);
?>

* данный сниппет предназначен для редиректа на определённую страницу


4) создадим второй сниппет, назовём его select_language.Код сниппета (php):
<?php
if(strstr($_SERVER[REQUEST_URI], 'ru')) 
{
echo '<a href="../en">English</a>';
} else {
echo '<a href="../ru">Russian</a>';
}
?>

* этот сниппет предназначен для вывода ссылок. English или Russian.

5) теперь необходимо создать несколько документов в контейнерах "ru" и "en".
Это могут быть любые страницы, главное, чтобы они были вложены в соответствующие контейнеры

6) далее необходимо отредактировать созданные нами ранее страницы - контейнеры.
Сейчас нам нужно сделать так, чтобы при входе на страницу "ru" нас отправляло на документ внутри контейнера "ru". Так же и с "en".

Редактируем контейнер "ru". В поле "Содержимое документа" пишем:
[[redirect? &id=`7`]]

В моём случае id страницы, на которую я перенаправляю пользователя - 7.
7 страница - это главная страница сайта на русском языке.
У Вас страница, скорее всего будет иметь другой id

7) редактируем контейнер "en". В поле "Содержимое документа" пишем:
[[redirect? &id=`5`]]

Опять же, 5 id, в моём случае, это главная страница англ. сайта, на которую перенаправиться пользователь.
У Вас страница, скорее всего, будет иметь другой id

Закрепим пункты 6 и 7. После редактирования документов-контейнеров "en" и "ru".
Пользователь, зашедший по url - http://my_site.ru/ru - попадёт на страницу 7, т.е на русский вариант сайта (потому-что документ с id 7 находится в папке "ru").
А пользователь, который пошёл по http://my_site.ru/en - на страницу 5, т.е англ. вариант сайта.

8 ) После всех вышеперечисленных действий, размещаем сниппет [[select_language]] в нужном месте вашего шаблона.
Входим на сайт, нас должно автоматически перебросить на главную страницу русского сайта (если контейнер "ru" у Вас
имеет id = 1).
Если Вам требуется, чтобы англ. версия грузилась первой - Инструменты -> Конфигурация -> Сайт -> Первая страница
Вы можете поменять значение с 1, на id документа-контейнера "en".

9) Настройки в панели администрирования

Инструменты -> Конфигурация
- Переписывать путь к изображениям? - НЕТ
- Путь к файлам
Узнать требуемый путь, можно из phpinfo(Отчеты -> phpInfo() - Просмотр)
В phpinfo() ищем директиву DOCUMENT_ROOT.
Например у меня
DOCUMENT_ROOT Z:/home/maws/www
И к этому пути нужно дописать директорию, где MODx хранит файлы. Т.е /assets/
В результате. Переходим в Инструменты -> Путь к файлам и прописываем
там свой путь. Я вписываю туда Z:/home/my_site/www/assets/

- URL к файлам: я пишу - http://www.my_site.ru/assets/
http://www. - обязательно писать!

Переходим на вкладку Инструменты -> Конфигурация -> Файл-менеджер.
В поле "Путь для файлового менеджера" пишем значение директивы DOCUMENT_ROOT,
но в этот раз без /assets/. В моём случае - Z:/home/my_site/www/


Возможные проблемы
Может возникнуть проблема, когда вы загружаете файл через файловый менеджер, добавляете картинку в документ. Сохраняетесь, но при входе на эту страницу не отображается изображение. В этом случае пройдитесь по пункту 9 внимательнее. Если это не помогло, можно сделать убого, но работать будет.

Заходим на ftp своего сайта. В папку /assets/plugins/tinymce212/jscripts/tiny_mce/plugins/advimage/jscripts
Открываем файл functions.js. Ищем
var src = formObj.src.value;

и правим эту строку на:
var src = 'http://www.my_site.ru/'+formObj.src.value;

http://www.my_site.ru/ - в вашем случае адрес будет другой.
Входим в панель администрирования, Инструменты -> Конфигурация -> Интерфейс и представление -> Переписывать путь к изображениям? Выбираете - да.


Вот и всё. С виду объёмно, а на деле - просто.


полезные ссылки:
http://wiki.modxcms.com/index.php/Make_Multi_Lingual_Site
http://yar-it.com/blog/modx-revolution-multi.html
]]>
Sky-lin3 Nov 24, 2010, 06:38 AM https://forums.modx.com/thread/63002/modx-0-9-6-1#dis-post-371692