Не работает {$link} в pdoMenu

Всем привет! Не работает {$link} в pdoMenu, {$uri} работает, class=«active» не работает. Что за глюк?
Простой вызов меню в пустом шаблоне.
{'pdoMenu' | snippet : [
    'parents' => 0,
    'level' => 1,
    'tplOuter' => '@INLINE <ul {$classes}>{$wrapper}</ul>',
    'tpl' => '@INLINE <li {$classes}><a href="{$link}" {$attributes}>{$menutitle}</a>{$wrapper}</li>',
    'showLog' => 1,
]}
выдает href="" везде пусто
<li class="first"><a href="">Главная</a></li>
<li><a href="">Новости</a></li>
<li><a href="">test</a></li>
<li><a href="">О компании</a></li>
<li><a href="">Услуги</a></li>
<li><a href="">База знаний</a></li>
<li><a href="">Контакты</a></li>
<li class="last"><a href="">Партнёрство</a></li>
С {$uri} работает, ссылку выводит, но ошибка номер два — это не добавляет class=«active», когда находишься во вложенном ресурсе, из-за этого не получается подсвечивать в меню активный раздел, в котором находишься. Не могу найти причину этой ошибки. На других сайтах все это работает по умолчанию.

Сайт не новый, до меня кто-то разрабатывал, причем судя по исполнению, не самым аккуратным способом. class=«active» был сделан костылем через сниппет, но там нужно каждую страницу у родителя прописывать, поэтому такой костыль не вариант для дальнейшей работы.

Что я предпринимал для поиска ошибки (ни чего не помогает):
1. modx обновлен до последней версии все компоненты тоже обновлены, php 7.4
2. пробовал несколько раз переустановить pdoTools.
3. перенес копию сайта на другой хостинг, все так же, значит дело не в хостинге.
4. обновил modx через заливку файлов в папку, а не через updater, все так же, видимо дело не в стандартных файлах.
5. на копии деинсталлировал все компоненты, заново установил только pdotools, все так же, значит нет конфликта с другими компонентами и плагинами.
6. перенс таблицу modx_system_settings с другого сайта, где все работает корректно, чтобы исключить баг в настройках, не помогло.
7. уже больше нет вариантов куда дальше копать и что еще удалить на копии, чтобы понять, что может так влиять на работу pdoTools

Что еще может влиять на работу pdoTools? может кто сталкивался с подобным?
pdoCrumbs тоже {$link} не работает
Андрей
09 июня 2023, 21:32
modx.pro
309
0

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

Андрей
13 июня 2023, 10:29
0
{$_modx->makeUrl(859)}
{$_modx->makeUrl($_modx->resource.id)}
[[~859]]
[[~[[*id]]]]
[[~859? &scheme=`full`]]
такие конструкции тоже не работают на страницах

в логах
PHP warning: Invalid argument supplied for foreach()
Bad link tag `[[~859]]` encountered
Bad link tag `[[~4351]]` encountered
Bad link tag `[[~859? &scheme=`full`]]` encountered

если отключить ЧПУ
выводит
index.php?id=859
index.php?id=4351
index.php?id=859
index.php?id=4351
domen.ru/index.php?id=859
    Андрей
    13 июня 2023, 10:46
    0
    включаю обратно ЧПУ начинает работать, но через пару минут опять перестает
    если включить выключить ЧПУ, работает некоторое время и опять отваливается.
    Андрей
    13 июня 2023, 12:25
    0
    класс сделал таким костылем
    {if $_modx->resource.parent == $id OR $_modx->resource.id == $id }active{/if}
    почему ссылки сбоят так и не могу разобраться
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3