We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 8677
    • 50 Posts


    Вопрос снят - выяснила, что YAMS на MODx Revolution вообще не устанавливается.
    Тогда какая есть альтернатива?

      • 36442
      • 97 Posts
      Альтернатива для Рево — Babel.
        • 8677
        • 50 Posts
        Спасибо большое.
          • 8677
          • 50 Posts
          То ли глючит, то ли я что-то не так делаю.
          Делала по этому руководству: http://designfromwithin.com/995/modx-multilingual-setting-up-babel/
          Другой информации не нашла.
          Кто-нибудь устанавливал? Работает?

          А может быть, есть что-то более простое?
            • 31246 ☆ A M B ☆
            • 428 Posts
            Проще некуда, что у вас не получается?
            Вот ссылка на Babel - http://rtfm.modx.com/display/ADDON/Babel

            Какие вы ссылки хотите http://site.com/ru/ или http://ru.site.com ? [ed. note: valikras last edited this post 15 years, 2 months ago.]
              Valentin Rasulov - Industrial design (Hobbies - Web Development)
              Development not standard projects on CMF MODx Revolution.
              Small sample of extensions
              • 8677
              • 50 Posts
              Ссылки вида: http://site.com/ru/

              Сам Babel установился. И страницы в дополнительных контекстах (языках) создаёт.
              И site_start во всех контекстах прописан.

              А вот [[BabelLinks]] языковое меню формирует неправильно. (за исключением главной страницы).

              К примеру, на странице http://site.ru/contacts/ (русский язык)
              есть ссылка на ту же страницу (контакты) на английском.
              Ссылка выглядит правильно : http://site.ru/en/contacts/
              но при переходе по ссылке мы попадаем на самую первую страницу сайта (на основном языке, на русском),
              причем в адресной строке остаётся : http://site.ru/en/contacts/ .

              (а на этой подстранице меню BabelLinks формирует неправильные ссылки - просто ссылки на home-страницы каждого языка, хотя мы находимся в подразделе.)

              Вызов самый простой:

              <ul>
                [[BabelLinks]]
              </ul>
              



              Или вообще не в BabelLinks дело?
              Если с любой страницы русского языка переходим на другой язык - то контент на странице показывается тот, который вписан в главную страницу http://site.ru/ .

              [ed. note: elena-gileva last edited this post 15 years, 2 months ago.]
                • 8677
                • 50 Posts
                И не пойму, где вот это нужно использовать:


                BabelLink Chunk
                If the &tpl parameter is not set the default chunk will be used with the follwoing code:
                <li><a href="[[+url]]" class="[[+cultureKey]][[+active:notempty=` [[+active]]`]]">[[%babel.language_[[+cultureKey]]? &topic=`default` &namespace=`babel`]]</a></li>

                (со страницы http://rtfm.modx.com/display/ADDON/Babel.BabelLinks )
                  • 31246 ☆ A M B ☆
                  • 428 Posts
                  это "переключатель" языков
                    Valentin Rasulov - Industrial design (Hobbies - Web Development)
                    Development not standard projects on CMF MODx Revolution.
                    Small sample of extensions
                    • 31246 ☆ A M B ☆
                    • 428 Posts
                    Вы создали плагин, который определяет контент, если нет - то
                    Создайте плагие, например langBabel
                    $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;
                            case 'uk':
                                $modx->switchContext('uk');
                            $modx->setOption('cultureKey', 'uk');
                                break;
                            default:
                                // Set the default language/context here
                                $modx->switchContext('web');
                            $modx->setOption('cultureKey', 'ru');
                                break;
                        }
                    }

                    естественно поправьте языки под свой проект.
                    И установите галочку в системных событиях OnHandleRequest
                      Valentin Rasulov - Industrial design (Hobbies - Web Development)
                      Development not standard projects on CMF MODx Revolution.
                      Small sample of extensions
                      • 8677
                      • 50 Posts
                      Плагин был такой :

                      <?php
                      //make sure the plugin does not run on the mgr context (the manager)  
                              if ( $modx->context->get( 'key' ) != 'mgr') {  
                                  /**  
                                  * grab the current context from the request "c" parameter (or context_param_alias from system settings)  
                                  * the alternative .htaccess friendly URL rewrite rule must be activated  
                                  */  
                                  $cntxt_param = $modx->getOption('context_param_alias', null, 'cultureKey');  
                                  if ( isset( $_REQUEST[$cntxt_param] ) && $_REQUEST[$cntxt_param] != '' ) {  
                                      switch ( $_REQUEST[$cntxt_param] ) {  
                            
                                          case 'en':  
                                          $modx->switchContext('English');  
                                          break;  
                            
                                          case 'ru':  
                                          $modx->switchContext('web');  
                                          break;  
                      
                                          case 'fr':  
                                          $modx->switchContext('French');  
                                          break;  
                            
                                          default:  
                                          // nothing because web is default  
                                          break;  
                                      }  
                                  }  
                              }
                      


                      OnHandleRequest включен.

                      Поменяла на ваш вариант.
                      Перестали открываться ссылки с /en/ и /fr/ (всё, кроме русского языка).
                      Догадываюсь, что дело в плагине. Пытаюсь разобраться. [ed. note: elena-gileva last edited this post 15 years, 1 month ago.]