pdoMenu и стили разделов
Добрый день!
Такая ситуация. Генерим меню pdoMenu. Структура сайта
Раздел 1 (показывать в меню)
Подраздел 1-1 (не показывать в меню)
Подраздел 1-2 (не показывать в меню)
Раздел 2 (показывать в меню)
Подраздел 2-1 (показывать в меню)
Подраздел 2-2 (показывать в меню)
Раздел 3 (показывать в меню)
Раздел 4(показывать в меню)
При вызове &parentClass=`parentClass`. Меню выпадающее, соответственно, в результате получается, что Раздел 1 в меню как бы не имеет подразделов (они есть, но скрыты для показа в меню), а класс parentClass ему присваивается. При этом сами подразделы, скрытые от показа (Подраздел 1-1 и Подраздел 1-2) в меню не выводятся,
Разделам 3 и 4, не имеющим дочерних ресурсов, parentClass не присваивается, все ОК.
Как можно решить данную проблему со стилями?
Такая ситуация. Генерим меню pdoMenu. Структура сайта
Раздел 1 (показывать в меню)
Подраздел 1-1 (не показывать в меню)
Подраздел 1-2 (не показывать в меню)
Раздел 2 (показывать в меню)
Подраздел 2-1 (показывать в меню)
Подраздел 2-2 (показывать в меню)
Раздел 3 (показывать в меню)
Раздел 4(показывать в меню)
При вызове &parentClass=`parentClass`. Меню выпадающее, соответственно, в результате получается, что Раздел 1 в меню как бы не имеет подразделов (они есть, но скрыты для показа в меню), а класс parentClass ему присваивается. При этом сами подразделы, скрытые от показа (Подраздел 1-1 и Подраздел 1-2) в меню не выводятся,
Разделам 3 и 4, не имеющим дочерних ресурсов, parentClass не присваивается, все ОК.
Как можно решить данную проблему со стилями?
Комментарии: 6
Я делаю вот так:
или
Во втором примере просто, если wrapper не пуст, то выводить классы.
Надеюсь, что смог помочь
class="{$wrapper | length ?: $classes : ''}"
или
class="{if $wrapper?}{$classes}{/if}"
т.е. элемент li получает массив с дочерними ресурсами, если у ресурса длина массива wrapper 1 или больше, то выводить классы, если 0 то ничего.Во втором примере просто, если wrapper не пуст, то выводить классы.
Надеюсь, что смог помочь
О да! Работает, спасибо огромное!
На всякий случай привожу строку
На всякий случай привожу строку
&tplParentRow=`@INLINE <li {if $wrapper?}{$classes}{/if}><a href="[[+link]]">[[+menutitle]]</a>[[+wrapper]]</li>`
Синтаксис лучше не мешать, я привел пример на fenom, так как он проще.
Либо синтаксис modx, либо fenom, т.е…
Так:
либо так:
Либо синтаксис modx, либо fenom, т.е…
Так:
&tplParentRow=`@INLINE <li {if $wrapper?}{$classes}{/if}><a href="{$link}">{$menutitle}</a>{$wrapper}</li>`
либо так:
<li [[+[[+wrapper:notempty=`classes`]]]]><a href="[[+link]]">[[+menutitle]]</a>[[+wrapper]]</li>
Только второй вариант скорее всего в инлайне не заработает, нужно в чанк его запихнуть
И так и так работает в инлайне ;-) еще раз спасибо!
Пожалуйста)
Добрый день! Такая проблема, при выводе меню в мобильном виде почему-то ul выводится со style=«display: none»
Хотя в основном меню этого нет, с чем это может быть связано?
Хотя в основном меню этого нет, с чем это может быть связано?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.