Revo - Wayfinder - &startId

Доброго дня, всем.

Решил перейти с Evo на Revo, но столкнулся с необъяснимой проблемкой :)

Есть меню вида:

П1
— пп1-1
─ пп1-2
─ пп1-3

П5 (Доп.меню)
─ пп5-1
─ пп5-2
─ пп5-3

Пункты с 1 по 4 выводятся в верхнем меню через
[[Wayfinder? &startId=`0` &excludeDocs=`5` &level=`1`]]

Первое боковое меню выводит подпункты для активного раздела —
[[Wayfinder? &startId=`[[UltimateParent]]` &excludeDocs=`5.1, ... ,5.3` &level=`1`]]

Во втором боковом меню должен выводится Пункт 5 (на каждой странице, как доп.меню)
[[Wayfinder? &startId=`5` ]]

Проблема в том, что второе боковое меню выводится только на странице 5 и дочерних, т.е. получается, что «стартайди» в данном случае работает не что включать в меню, а на каких страницах выводить.

Все естественно опубликовано и разрешено для показа в меню (пока не разберусь). Чистил кеш, ставил кешируемый вызов сниппета, отрубал friendly urls и т.д.

В Evo все нормально, как и должно быть. Может настройки какие пропустил по незнанию?
Eklniy Babai
07 сентября 2012, 12:18
modx.pro
2 147
0

Комментарии: 8

Eklniy Babai
08 сентября 2012, 16:32
0
Удивительно, но виноват оказался &hideSubMenus

Тут расписал подробнее: forums.modx.com/thread/79163/revo-wayfinder---startid#dis-post-436383

Если в кратце, то при выставлении этого параметра в `1`, то перестает выводить меню целиком если находимся на страницах отличных от &startId или дочерних.

Как же тогда выводить дополнительные меню, не через getResorces же :(
    Eklniy Babai
    08 сентября 2012, 17:30
    0
    Или еще лучше — покажите, как грамотно написать PHx запрос для вывода wayfinder с разными параметрами в зависимости от id текущей страницы. С PHx пока не разбирался, так что туплю немного. Илт все-таки лучше отдельный сниппет писать?
      Василий Наумкин
      08 сентября 2012, 18:10
      0
      Лучше сниппет-обертку, будет гораздо лучше и ­быстрее.

      <?php
      if ($modx->resource->id == 5) {
      ­$start = 1;
      }
      else {$start = 6;}

      $params = ­array(
      'startId' => $start
      ,'tpl' => ­'mytpl'
      //, и так далее
      );

      return $modx->­runSnippet('Wayfinder', $params);
      ?>
        Eklniy Babai
        08 сентября 2012, 20:07
        0
        Замечательно, но как это скажется на кешировании?
        Результат в Рево будет норм кешироваться или каждый раз при вызове считать будет? Ессно берем вызов снипетта [[...]].
        Eklniy Babai
        09 сентября 2012, 14:37
        0
        Странно, но ругается на 'startId' => $start
        ...unexpected T_DOUBLE_ARROW…
          Василий Наумкин
          09 сентября 2012, 14:57
          0
          Запятую не поставили, или еще что-то.
            Eklniy Babai
            09 сентября 2012, 15:14
            0
            Копипаста с этого форума просто символы похоже добавило, а в CodeMirror не заметил. Перебил массив и все стало норм.

            return $modx->runSnippet('Wayfinder',array(
            'startId'=>$id,
            'hideSubMenus'=>'1',
            //…
            ));

            Спасибо :)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8