We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 40862
    • 8 Posts
    Делал мультиязычность по стандарту, через bable. Всё в принципе нормально, кроме менюшек (wayfinder), которых у меня две, главное и дополнительное. В них id страниц указаны жестко. Параметр &context почему-то срабатывает только один раз, для одного меню. Поскольку мне не нужны контексты на нескольких языках, а только главные элементы сайта (т.е. кнопочки, хедер и т.д.), напрашивается использование файлов локализации. Сделал, но опять же не всё гладко, переводится криво и через раз. Вот теперь снес и чешу репу заново. Если кто-то сталкивался или есть идеи - милости прошу. Заранее спасибо!
    P.S. Версия движка MODX Revolution 2.2.4-pl (traditional)
    Языки: Русский\Украинский.
    Ссыль на сайт: http://jurassistant.com.ua/
      • 40862
      • 8 Posts
      Есть кто живой???
        • 31246 ☆ A M B ☆
        • 428 Posts
        Всё в принципе нормально, кроме менюшек (wayfinder), которых у меня две, главное и дополнительное. В них id страниц указаны жестко.
        объясните, как это жостко привязанны?
        В Wayfinder есть параметр &where, которым вы можете задать критерию по крнтексту
        Поскольку мне не нужны контексты на нескольких языках, а только главные элементы сайта (т.е. кнопочки, хедер и т.д.), напрашивается использование файлов локализации. Сделал, но опять же не всё гладко, переводится криво и через раз
        как вы сделали? Вы создали папку локализации ua, скопировали туда языки и перевели? или в Система->Управления словарями переводили?
        Сделал, но опять же не всё гладко, переводится криво и через раз.
        - возможно с кэша идёт, как вы вызываете вайфиндер?

        P.S. Видите сколько вопросов! Как вам могут ответить, если нужно человеку потерять время, чтобы у вас всё выспросить! Нужно сразу писать примеры кода и описывать потробно. А такое - я вот туда и сюда, а оно не фурычит, ни о чём не говорит.

        http://jurassistant.com.ua/about.html
        http://jurassistant.com.ua/%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B2%D0%BE.html
        http://jurassistant.com.ua/шаблоны-документво.html

        Это что??????? [ed. note: valikras last edited this post 14 years, 2 months ago.]
          Valentin Rasulov - Industrial design (Hobbies - Web Development)
          Development not standard projects on CMF MODx Revolution.
          Small sample of extensions
          • 40862
          • 8 Posts
          Чанк меню
          [[!Wayfinder?
          &startId=`0`
          &limit=`4`
          &outerTpl=`menuOut`
          &rowTpl=`menuPunkt`
          &hereClass=`current_page_item`
          ]]

          Чанк правого сайдбара
          [[!Wayfinder?
          &startId=`0`
          &includeDocs=`18`
          &sortOrder=`ASC`
          &outerTpl=`menuROut`
          &rowTpl=`menuRPunkt`
          &innerTpl=`menuRInner`
          &innerRowTpl=`menuRInnerPunkt`
          &hereClass=`current_page_item`
          &firstClass=``
          &lastClass =``
          ]]
          <span>[[%ur_plat? &topic=`lang` &namespace=`JurUa`]]</span>
           [[!Wayfinder?
          &startId=`0`
          &includeDocs=`20,22,23,24`
          &sortOrder=`ASC`
          &outerTpl=`menuROut`
          &rowTpl=`menuRPunkt`
          &innerTpl=`menuRInner`
          &innerRowTpl=`menuRInnerPunkt`
          &hereClass=`current_page_item`
          ]]


          Жестко вписаны айдишник через includeDocs.
          Сначала создал два контекста с копированием файлов, но приходится плодить чанки и шаблоны для двух языков. Это плохо. И сложность в том что в верхнем меню отображаются первые 4 дока и это работает, а вот в правом всё после 4-х, не понимаю как ограничить вывод, кроме указания айди.

          Пробовал и спомощью файлов локализации, но сложности с переключением всё тех же култур кеев. Исходники удалил так что показать не смогу.

          Вообще хочу всё таки сделать через файлы локализации, но не могу найти нормального мануала.
            • 40862
            • 8 Posts
            Последний вопрос не понял
              • 31246 ☆ A M B ☆
              • 428 Posts
              Чанк меню
              я так понял - верхнее меню?
              [[!Wayfinder?
              &startId=`[[++cultureKey:isequalto=`ru`:then=`0`:else=`20`]]`
              &limit=`4`
              &outerTpl=`menuOut`
              &rowTpl=`menuPunkt`
              &hereClass=`current_page_item`
              ]]

              где - 0 - это startId в русском контексте, а 20 в украинском контексте
              т.е. при этом нужно не забыть в настройках контекста добавить параметр cultureKey и указать соответствующий ключ

              теперь мне не понятно.
              Параметр &context почему-то срабатывает только один раз, для одного меню
              берём Чанк правого сайдбара - у вас &startId=`0` в двух вайфиндерах, т.е. контекстов нету?
              Я просто не вижу у вас контекстов и как вы меняете к примеру верхнее даже менб. в зависимости от языка?
                Valentin Rasulov - Industrial design (Hobbies - Web Development)
                Development not standard projects on CMF MODx Revolution.
                Small sample of extensions
                • 40862
                • 8 Posts
                Спасибо большое. Вэйфайндер считывает доки от родителя в котором вызван, насколько я понимаю.
                [[!Wayfinder?
                &startId=`[[++cultureKey:isequalto=`ru`:then=`123`:else=`0`]]`
                &limit=`4`
                &outerTpl=`menuOut`
                &rowTpl=`menuPunkt`
                &hereClass=`current_page_item`
                &firstClass=``
                &lastClass =``
                ]]

                Такая консрукция не работает для второго контекста.

                123 - первая страница русского контекста
                  • 40862
                  • 8 Posts
                  [[!Wayfinder?
                  &startId=`0`
                  &limit=`4`
                  &outerTpl=`menuOut`
                  &rowTpl=`menuPunkt`
                  &hereClass=`current_page_item`
                  &firstClass=``
                  &lastClass =``
                  ]]


                  Так работает для двух контекстов (т.е. меню отрисовывается правильно, на другом языке), но с русского (http://jurassistant.com.ua/ru/), ссылки ведут на украинский (http://jurassistant.com.ua/). [ed. note: drumslave last edited this post 14 years, 2 months ago.]
                    • 40862
                    • 8 Posts
                    Вот дерево каталогов и настройка второго контекста
                      • 31246 ☆ A M B ☆
                      • 428 Posts
                      Ещё раз с начало.... smiley
                      У вас два языка - русский (http://jurassistant.com.ua/ru/) и украинский (http://jurassistant.com.ua/).

                      Бабел нужен для связей ресурсов русского и украинского.
                      Для переключения контекстов, вы используете плагин - какой? и код его.
                      В настройках контекста русского, вам нужно указать site_url - http://jurassistant.com.ua/ru/ - у вас http://jurassistant.com.ua/
                      В корне сайта, я создаю папку ru и переношу туда файл index.php (изменив на контекст RU - $modx->initialize('ru')), .htaccess, config.core.php (MODX_CORE_PATH должен иметь от корня сервера путь к папке core)
                      Настройка контекста en - пример c сайта like.artdevue.com - http://cl.ly/image/1X2A2f0z0B3A


                      Должно всё работать... никаких магий больше нету, а да,.. контекст переключаю простеньким плагином (создайте любое название) и установите в вкладки плагина - системные события OnHandleRequest
                      <?php
                      if ($modx->event->name == 'OnHandleRequest'){
                          $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');
                                      $modx->setOption('cultureKey', 'en');
                                  break;
                              default:
                                  $modx->switchContext('web');
                                      $modx->setOption('cultureKey', 'ru');
                                  break;
                              }
                          }
                      }
                        Valentin Rasulov - Industrial design (Hobbies - Web Development)
                        Development not standard projects on CMF MODx Revolution.
                        Small sample of extensions