Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

telegram: @Accusser
skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Настройка мультиязычности MODX Revolution Дополнение Babel

Сайдбар

Настройка мультиязычности MODX Revolution Дополнение Babel

11 дек 2015

В данном видео уроке рассматривается настройка мультиязычности на сайте MODX Revolution при помощи дополнения Babel

Плагин

<?php
$lankey = substr($_SERVER['REQUEST_URI'], 1, 2);
if($modx->context->get('key') != "mgr"){
    //grab the current domain from the http_host option
    switch ($lankey) {
      case 'en':
            //switch the context
            $modx->switchContext('en');
            //set the cultureKey
        $modx->setOption('cultureKey', 'en');
            break;
        default:
            // Set the default language/context here
            $modx->switchContext('web');
        $modx->setOption('cultureKey', 'ru');
            break;
    }
}

Пример условий для контекстов

[[*context_key:is=`web`:then=`Здесь вызов pdoResources`:else=`Здесь второй вызов pdoResources для другого контекста`]]

Хостинг для MODX

Смотрите также:

Дополнение Asset Manager MODX Revolution

Asset Manager MODX Revolution

Смотреть

Quickstart Buttons Кнопки Быстрого Запуска MODX Revolution

Quickstart Buttons

Смотреть








Комментарии ()

  1. Илья 19 декабря 2015, 13:35 # 0
    А что делать с выводами PDO resurses. ведь там нужно указывать ID родителя. а если это английская версия — то ID ресурса будет уже другой.
    1. Александр 19 декабря 2015, 14:51 # 0
      Создавать либо еще один шаблон, либо вызов сниппета писать в содержимом документа или же условие
      [[*context_key:is=`web`:then=`Здесь вызов pdoResources`:else=`Здесь второй вызов pdoResources для другого контекста`]]
    2. Илья 05 января 2016, 15:49 # 0
      Александр,
      при основной установке, как у вас в видео, имею несколько проблем, которые не понимаю как решить:

      1) Почему-то все страницы (в другой версии сайта) показываются в виде шаблона главной, хотя в настройках Ресурса выбран правильный шаблон. То есть ВСЕ страницы другоязычной версии сайта показываются с начальным шаблоном…
      1. Александр 05 января 2016, 19:16 # 0
        Проверяйте все еще раз. С самого начала.
      2. Илья 05 января 2016, 17:03(Комментарий был изменён) # 0
        И что делать с TV полями? например картинки перестали выводиться в другой версии сайта. хотя в обычной выводятся.
        Ps. картинки из TV не выводятся, а вот текстовые TV выводятся…
        Подозреваю что тут чтото с «источниками файлов»
        (Если закинуть папку с картиками в /en, то тогда они показываются...) — но этол не дел делать 2 одинаковых папки.
        1. Modx 29 июля 2016, 05:53 # 0
          Это потому что у вас не стоит / в пути картинки папки вот например если у вас так идет [[+tv.image]] картинки не будет, а если перед ней поставить /[[+tv.image]] то они станут работать в английской версии сайта. Правда такая фигня почему то работает только с tv с gallery почему то не работает… (((
        2. Илья 05 января 2016, 17:32 # 0
          И последний вопрос =)

          Как только я связываю дочерние Ресурсы один с другим, то пропадает первоначальный ресурс на основном языке из дерева (вообще исчезает), хотя на сайте он показывается.
          отвязка этого ресурса обратно не помогает — он все равно не показывается в дереве ресурсов.

          =(
          1. Александр 05 января 2016, 19:21 # 0
            Я не могу знать с чем это связано. Проверьте все настройки еще раз. Я с таким не сталкивался.
            Или скиньте на почту доступ я посмотрю. Тоже самое касается и предыдущего вопроса.
          2. Modx 28 июля 2016, 15:49 # 0
            Создал плагин Launge и все… сайт полетел и стал выдавать ошибку 500 :)
            1. Александр 28 июля 2016, 15:59 # 0
              Код плагина скопируйте с демо сайта который я давал.
            2. Modx 28 июля 2016, 16:27 # 0
              Вот этот код ??

              $lankey = substr($_SERVER['REQUEST_URI'], 1, 2);
              if($modx->context->get('key') != "mgr"){
                  //grab the current domain from the http_host option
                  switch ($lankey) {
                    case 'en':
                          //switch the context
                          $modx->switchContext('en');
                          //set the cultureKey
                      $modx->setOption('cultureKey', 'en');
                          break;
                      default:
                          // Set the default language/context here
                          $modx->switchContext('web');
                      $modx->setOption('cultureKey', 'ru');
                          break;
                  }
              }
              Хостер сказал что в 3 строке синтаксическая ошибка

              if($modx->context->get('key') != "mgr"){
              Да и я присмотрелся в видео, у вас там идет
              if($modx->context->get('key') != "mgr"){
              А не
              if($modx->context->get('key') != "mgr"){
              1. Modx 28 июля 2016, 16:33(Комментарий был изменён) # 0
                Смотрите, если у вас на сайте php не обернут в тег code,
                то он видит php код как то по другому вместо скобки вылезла каракозябра с цифрами
                1. Александр 28 июля 2016, 17:48 # 0
                  Копируйте под уроком исправил код.
                2. Александр 28 июля 2016, 17:44 # 0
                  Я поэтому и говорю что скопируйте с сайта. Там в плагине правильный код, не поломанный.
                  1. Alex 11 июля 2019, 15:44 # 0
                    А объясните как поправить код чтоб сделать смену не на 2 языка а на 3?
                    1. Alex 12 июля 2019, 00:25(Комментарий был изменён) # 0
                      Вопрос уже задавался но интересно узнать решение проблемы когда созданный ресурс под англ версию пропадает из дерева ресурсов и никак не отображается, только переместив раздел в котором он находится в другой контекст он отобразился и я смог его удалить, но в этом случае слетают все привязки у перенесенного раздела и всех привязанных к нему ресурсов.
                      1. Сергей 01 ноября 2019, 16:49 # 0
                        Доброго времени суток!
                        Вопрос по поводу дополнения Babel.
                        По стараюсь в кратце…
                        Делаю локализацию русскую и украинскую. Все нормально. Шаблоны, чанки для двух языков. Плагин под укр. локализацию.
                        Проблема — есть товар рус. и укр… В категориях все отлично, по карточке товара проблема, с русским все отлично, с украинским — все пусто, ни ошибок в логе, ни чего, просто пустая страница, даже ни какого фрагмента кода. Замена шаблона карточки товара результата не дает.
                        Изначально вся информация выводилась, потом все пропало.
                        Куда копать, ума не приложу. Буду рад за любую подсказку.

                        Услуги по MODX Revolution

                        Посмотреть все услуги

                        Оптимизация сайта

                        Подробнее & Заказать

                        Создание сайта на MODX Revolution

                        Подробнее & Заказать

                        Перенос сайта на MODX Revolution

                        Подробнее & Заказать

                        Продвижение сайта на MODX

                        Подробнее & Заказать