pdoTools меню

Здравствуйте
Установил pdoTools
прописал вот такой код для меню

[[pdoMenu?
&parents=`0`
&level=`1`
&tplOuter=`@INLINE `
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]][[+wrapper]]`
]]

У всех ресурсов id от одного до пяти
Меню открывает все страницы кроме главной с id=1
В чём может быть проблема?

PS. Не работает только при включенном дружественном URL
Евгений
20 августа 2015, 11:56
modx.pro
2 510
0

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

Павел Романов
20 августа 2015, 15:02
+1
Для начала с параметрами и тегами незакрытыми разберитесь. В данный момент каша какая-то )
[[pdoMenu?
&parents=`0`
&level=`1`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a> [[+wrapper]]</li>`
]]
    Евгений
    20 августа 2015, 19:25
    0
    Извиняюсь что неправильно написал
    надо вставлять кодом, вот правильно
    [[pdoMenu?
    &parents=`0`
    &level=`1`
    &tplOuter=`@INLINE <ul class="nav navbar-nav">[[+wrapper]]</ul>`
    &tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
    ]]
      Евгений
      21 августа 2015, 08:27
      0
      Я заметил что не переходит на ту страницу, которая назначена главной.
      В html коде вот такая ссылка
      <a href>Главная</a>
      Ещё раз уточню всё это происходит только если включен дружественный URL, без него работает нормально.
      Может ли это быть связано с обновлением modx revo до версии 2.4.0-pl?
        Евгений
        21 августа 2015, 11:10
        0
        Ребят подскажите в чём может быть проблема, может кто сталкивался с этим?
        На более старой версии modx revo у меня было всё нормально.
          Ганин Роман
          21 августа 2015, 15:39
          0
          Что значит «меню открывает»? Приведите, пожалуйста, код, который генерируется pdoMenu на фронте или дайте ссылку, где можно это лицезреть.
            Евгений
            23 августа 2015, 20:21
            -2
            Мучился, мучился поставил Wayfinder.
            С ним всё работает идеально.
            Думаю что это баг pdoMenu.
            Василию писал на почту, пока тишина.
            Спасибо вам и на этом.
              Василий Наумкин
              23 августа 2015, 20:45
              +1
              Да-да, то что ты не знаешь про тег base и параметр &scheme — это баг pdoMenu, конечно.

              50 000 закачек дополнения и никто такого явного бага не заметил, надо же! Просто укажи
              [[!pdoMenu?
              	&scheme=`-1`
              	&parents=`0`
              ]]
              и будут правильные относительные url от корня сайта. Остальные варианты здесь.
                Василий Наумкин
                23 августа 2015, 21:14
                +3
                А всё-таки, недоработка нашлась. Багом это назвать трудно, но по умолчанию pdoTools пытается работать с системным параметром link_tag_scheme и там указано -1.

                Он получает этот -1 через modX::getOption() и отправляет в modX::makeUrl(). Фокус в том, что makeUrl хочет видеть этот -1 как целое число, а getOption получает его как строку. И вот из-за этой разницы типов данных возникает ошибка с генерацией адреса внутри makeUrl, потому что там строгая проверка (зачем — не знаю).

                То есть, используются 2 функции MODX, но ошибка выходит при работе pdoTools, забавно. Причем, я когда-то фиксил это, но только для значений, переданных напрямую в pdoTools, поэтому
                [[!pdoMenu?
                	&scheme=`-1`
                ]]
                работает корректно. А вот с системным значением по умолчанию — нет.

                Добавил исправление и для него, и обновил пакет в репозитории. Больше такой проблемы не будет.
                Евгений
                23 августа 2015, 21:58
                0
                Отвечаю два верхних поста.
                Я пока новичок в modx(е) поэтому и просил показать мне мои ошибки.
                В более старой версии modx(а) меню работало по умолчанию правильно.
                И в документации вывод простого меню в один уровень указано так
                [[pdoMenu?
                    &parents=`0`
                    &level=`1`
                ]]
                без
                &scheme=`-1
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  9