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 не присваивается, все ОК.
Как можно решить данную проблему со стилями?
Михаил
07 июня 2018, 15:46
modx.pro
1
1 090
0

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

Баха Волков
08 июня 2018, 01:11
0
Я делаю вот так:

class="{$wrapper | length ?: $classes : ''}"

или

class="{if $wrapper?}{$classes}{/if}"
т.е. элемент li получает массив с дочерними ресурсами, если у ресурса длина массива wrapper 1 или больше, то выводить классы, если 0 то ничего.

Во втором примере просто, если wrapper не пуст, то выводить классы.

Надеюсь, что смог помочь
    Михаил
    08 июня 2018, 10:41
    0
    О да! Работает, спасибо огромное!
    На всякий случай привожу строку
    &tplParentRow=`@INLINE <li {if $wrapper?}{$classes}{/if}><a href="[[+link]]">[[+menutitle]]</a>[[+wrapper]]</li>`
      Баха Волков
      08 июня 2018, 13:10
      +1
      Синтаксис лучше не мешать, я привел пример на 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>
      Только второй вариант скорее всего в инлайне не заработает, нужно в чанк его запихнуть
      Михаил
      08 июня 2018, 14:52
      0
      И так и так работает в инлайне ;-) еще раз спасибо!
      РОМАН
      24 июня 2018, 13:26
      0
      Добрый день! Такая проблема, при выводе меню в мобильном виде почему-то ul выводится со style=«display: none»
      Хотя в основном меню этого нет, с чем это может быть связано?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6