pdoTools меню
Здравствуйте
Установил pdoTools
прописал вот такой код для меню
[[pdoMenu?
&parents=`0`
&level=`1`
&tplOuter=`@INLINE `
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]][[+wrapper]]`
]]
У всех ресурсов id от одного до пяти
Меню открывает все страницы кроме главной с id=1
В чём может быть проблема?
PS. Не работает только при включенном дружественном URL
Установил pdoTools
прописал вот такой код для меню
[[pdoMenu?
&parents=`0`
&level=`1`
&tplOuter=`@INLINE `
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]][[+wrapper]]`
]]
У всех ресурсов id от одного до пяти
Меню открывает все страницы кроме главной с id=1
В чём может быть проблема?
PS. Не работает только при включенном дружественном URL
Комментарии: 9
Для начала с параметрами и тегами незакрытыми разберитесь. В данный момент каша какая-то )
[[pdoMenu?
&parents=`0`
&level=`1`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a> [[+wrapper]]</li>`
]]
Извиняюсь что неправильно написал
надо вставлять кодом, вот правильно
надо вставлять кодом, вот правильно
[[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>`
]]
Я заметил что не переходит на ту страницу, которая назначена главной.
В html коде вот такая ссылка
Может ли это быть связано с обновлением modx revo до версии 2.4.0-pl?
В html коде вот такая ссылка
<a href>Главная</a>
Ещё раз уточню всё это происходит только если включен дружественный URL, без него работает нормально.Может ли это быть связано с обновлением modx revo до версии 2.4.0-pl?
Ребят подскажите в чём может быть проблема, может кто сталкивался с этим?
На более старой версии modx revo у меня было всё нормально.
На более старой версии modx revo у меня было всё нормально.
Что значит «меню открывает»? Приведите, пожалуйста, код, который генерируется pdoMenu на фронте или дайте ссылку, где можно это лицезреть.
Мучился, мучился поставил Wayfinder.
С ним всё работает идеально.
Думаю что это баг pdoMenu.
Василию писал на почту, пока тишина.
Спасибо вам и на этом.
С ним всё работает идеально.
Думаю что это баг pdoMenu.
Василию писал на почту, пока тишина.
Спасибо вам и на этом.
Да-да, то что ты не знаешь про тег base и параметр &scheme — это баг pdoMenu, конечно.
50 000 закачек дополнения и никто такого явного бага не заметил, надо же! Просто укажи
50 000 закачек дополнения и никто такого явного бага не заметил, надо же! Просто укажи
[[!pdoMenu?
&scheme=`-1`
&parents=`0`
]]
и будут правильные относительные url от корня сайта. Остальные варианты здесь.
А всё-таки, недоработка нашлась. Багом это назвать трудно, но по умолчанию pdoTools пытается работать с системным параметром link_tag_scheme и там указано -1.
Он получает этот -1 через modX::getOption() и отправляет в modX::makeUrl(). Фокус в том, что makeUrl хочет видеть этот -1 как целое число, а getOption получает его как строку. И вот из-за этой разницы типов данных возникает ошибка с генерацией адреса внутри makeUrl, потому что там строгая проверка (зачем — не знаю).
То есть, используются 2 функции MODX, но ошибка выходит при работе pdoTools, забавно. Причем, я когда-то фиксил это, но только для значений, переданных напрямую в pdoTools, поэтому
Добавил исправление и для него, и обновил пакет в репозитории. Больше такой проблемы не будет.
Он получает этот -1 через modX::getOption() и отправляет в modX::makeUrl(). Фокус в том, что makeUrl хочет видеть этот -1 как целое число, а getOption получает его как строку. И вот из-за этой разницы типов данных возникает ошибка с генерацией адреса внутри makeUrl, потому что там строгая проверка (зачем — не знаю).
То есть, используются 2 функции MODX, но ошибка выходит при работе pdoTools, забавно. Причем, я когда-то фиксил это, но только для значений, переданных напрямую в pdoTools, поэтому
[[!pdoMenu?
&scheme=`-1`
]]
работает корректно. А вот с системным значением по умолчанию — нет.Добавил исправление и для него, и обновил пакет в репозитории. Больше такой проблемы не будет.
Отвечаю два верхних поста.
Я пока новичок в modx(е) поэтому и просил показать мне мои ошибки.
В более старой версии modx(а) меню работало по умолчанию правильно.
И в документации вывод простого меню в один уровень указано так
Я пока новичок в modx(е) поэтому и просил показать мне мои ошибки.
В более старой версии modx(а) меню работало по умолчанию правильно.
И в документации вывод простого меню в один уровень указано так
[[pdoMenu?
&parents=`0`
&level=`1`
]]
без &scheme=`-1
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.