We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • discuss.answer
    • 49912
    • 23 Posts
    Ну то что вы построили ссылку, не значит что у вас есть эти страницы. Поэтому я у вас и спрашивал - а у вас ссылки site.ru/moskva/punkt_menu/ открываются уже?
      • 48332
      • 37 Posts
      Quote from: wolframcheg at Feb 20, 2015, 02:02 AM
      Ну то что вы построили ссылку, не значит что у вас есть эти страницы. Поэтому я у вас и спрашивал - а у вас ссылки site.ru/moskva/punkt_menu/ открываются уже?
      Если создать меню в нутри раздела "Города" т.е. Москва -> меню -> пункт меню, тогда открываться будет. Но тогда получается что в каждом городе нужно создовать дубликат меню. А мне хотелось бы вынести меню за пределы (в корень), что бы у всех городов оно было общее. Иначе при возникновении необходимости во всех городах поменять или добавить пункт меню придется в каждом меню города вносить изменения, а их 169 в моем случае.
      • discuss.answer
        • 49912
        • 23 Posts
        создайте в htaccess правила для всех 169 городов
        • discuss.answer
          • 49529
          • 196 Posts
          wolframcheg, жестко вы предлагаете. Проще уж тогда написать плагин, который будет формировать нужный freeze url для ресурсов с определенным родителем.
            • 48332
            • 37 Posts
            Quote from: whitebyte at Feb 20, 2015, 05:21 AM
            wolframcheg, жестко вы предлагаете. Проще уж тогда написать плагин, который будет формировать нужный freeze url для ресурсов с определенным родителем.

            Quote from: whitebyte at Feb 20, 2015, 05:21 AM
            wolframcheg, жестко вы предлагаете. Проще уж тогда написать плагин, который будет формировать нужный freeze url для ресурсов с определенным родителем.
            Да, согласен, исключать в .htaccsesse не вариант. Даже если допустить двухсотстрочный .htaccsess то все равно так как нужно, это работать не будет. У меня идея с подменой $_SERVER["HTTP_REFERER"], $_ENV["HTTP_REFERER"], $_SERVER["REQUEST_URI"] и т.д. на нужный мне. Пака не знаю что из этого выйдет. Поже тпишусь детально.
              • 49912
              • 23 Posts
              Quote from: whitebyte at Feb 20, 2015, 05:21 AM
              wolframcheg, жестко вы предлагаете. Проще уж тогда написать плагин, который будет формировать нужный freeze url для ресурсов с определенным родителем.

              Исходя из поставленной задачи замороженный урл тут вообще не в тему.. ресурсы с городами как я понял по факту не имеют дочерних ресурсов.
                • 48332
                • 37 Posts
                Quote from: wolframcheg at Feb 20, 2015, 07:05 AM
                Quote from: whitebyte at Feb 20, 2015, 05:21 AM
                wolframcheg, жестко вы предлагаете. Проще уж тогда написать плагин, который будет формировать нужный freeze url для ресурсов с определенным родителем.

                Исходя из поставленной задачи замороженный урл тут вообще не в тему.. ресурсы с городами как я понял по факту не имеют дочерних ресурсов.
                Обсалютно верно. Поробывал разные решения. Идеи кончались. Как быть пока не знаю.
                • discuss.answer
                  • 49912
                  • 23 Posts
                  Есть одна идейка.. седня вечером попробую
                  • discuss.answer
                    • 49912
                    • 23 Posts
                    Создайте плагин на собыитие OnPageNotFound, в массив укажите все города
                    Тело плагина -
                    <?php
                    if ($modx->event->name != 'OnPageNotFound') {return false;}
                    $alias = $modx->context->getOption('request_param_alias', 'q');
                    if (!isset($_REQUEST[$alias])) {return false;}

                    $request = $_REQUEST[$alias];
                    $tmp = explode('/', $request);
                    $cities = array('moscow','perm','caliningrad','ecaterenburg');//массив всех городов

                    if(in_array($tmp[0],$cities)){
                    $id=$modx->findResource(str_replace($tmp[0].'/','',$request));
                    $modx->sendForward($id);
                    }
                      • 48332
                      • 37 Posts
                      Quote from: wolframcheg at Feb 20, 2015, 11:46 AM
                      Создайте плагин на собыитие OnPageNotFound, в массив укажите все города
                      Тело плагина -
                      <!--?php
                      if ($modx--->event->name != 'OnPageNotFound') {return false;}
                      $alias = $modx->context->getOption('request_param_alias', 'q');
                      if (!isset($_REQUEST[$alias])) {return false;}

                      $request = $_REQUEST[$alias];
                      $tmp = explode('/', $request);
                      $cities = array('moscow','perm','caliningrad','ecaterenburg');//массив всех городов

                      if(in_array($tmp[0],$cities)){
                      $id=$modx->findResource(str_replace($tmp[0].'/','',$request));
                      $modx->sendForward($id);
                      }

                      $id=$modx->findResource(str_replace($tmp[0].'/','',$request));

                      По какой-то причине id неимеет результата.
                      Я так полагаю, что $modx->findResource не отрабатывается.