Меню для разных поселений

День добрый. Есть два поселения сайт site.ru и site.ru/en/* и поселение блог site.ru/new/*

Используется два шаблона. Один для site.ru второй для site.ru/en/* . Для блога используется шаблон site.ru .но возникает проблема с выводом меню страниц поселения сайт в блоге. Выводятся страницы поселения site.ru/en/* . в документации написано что берётся первое поселение сверху. Можно ли как то это обойти и сделать выборку страниц поселения site.ru

2 ответа

  • 1
    Николай Иванов 17 июля 2017 12:58 #

    Сделайте свой хэлпер, который будет отдавать нужные вам страницы и используйте его в шаблонах вместо стандартного wa->'app'->pages()

    • +1
      Fedoric Fedoric 17 июля 2017 13:11 #

      ну то что хелпер можно написать оно понятно. Только воточень странно почему штатными средствами это не реализованно. А если у меня таких поселений будет 5 то придётся 5 хелперов. А если 20 ?


      • +1
        Николай Иванов Николай Иванов 17 июля 2017 14:06 #

        Ничего не мешает вам сделать универсальный хэлпер, куда можете передавать домен и поселение и получать нужные страницы. А если воспользоваться поиском, то может даже найдёте уже готовый.

        Почему не реализовано "штатно"? Видимо никому не надо было, поэтому не заморчивались.
        Так то

        $routes = wa()->getRouting()->getByApp($this->app_id, $domain);
                        if ($routes) {
                            $route = end($routes);
                     .............................................................
                        $pages = $page_model->getPublishedPages($domain, $route);

        гораздо проще -)

        • +1
          Fedoric Fedoric 17 июля 2017 14:40 #

          Готовый не обязательно. Самому по силам )

          Нужно наверно разработчикам написать что бы добавили переменную в конструкцию вывода страниц. Люди спасибо скажут. )

          Вероятно с остальными приложениями история та же.


  • 1
    Fedoric 17 июля 2017 22:46 #

    Вообще на сколько я себе понимаю то если сделать

    public function pages($parent_id = 0, $with_params = true, $id) {

    .......................................

    вместо $route = current($routes);

    $route = $routes[$id]; ................................

    и уже выводить

    {$pages = $wa->site->pages(0, null, true,)} с добавлением переменной id и проверкой на ее отсутствие то будет как раз то чего сейчас не хватает.

    Завтра попробую на сервере. Если все ок добавлю в идеи и предложения


Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите