Как в pdomenu задать класс для блока, при условии что у него есть потомки?

В MODX, для задания класса для блока в pdomenu при наличии потомков, вам понадобится использовать специальный плейсхолдер, который предоставляет MODX - @IS_PARENT.

@IS_PARENT можно использовать напрямую внутри вызова pdomenu, чтобы определить, есть ли у текущего родительского ресурса потомки. Если у родительского ресурса есть потомки, то вы можете присвоить ему нужный класс, или применить любые другие стили.

Вот пример использования:

[[pdoMenu?
    &parents=`0`
    &level=`1`
    &tpl=`@INLINE
        <ul>
            [[+wrapper]]
        </ul>
    `
    &outerTpl=`@INLINE
        <ul>
            [[+wrapper]]
        </ul>
    `
    &rowTpl=`@INLINE
        <li[[+classes]]>
            <a href="[[+url]]"[[+attributes]]>[[+menutitle]]</a>
            [[!+children? 
                &then=`<ul>[[+children]]</ul>`
                &else=``
            ]]
        </li>
    `
    &activeParentClass=`active`
    &activeClass=`active`
]]

В данном примере, используется вызов pdomenu. В параметре rowTpl мы добавляем [[+classes]], чтобы вставить класс для каждого элемента меню. В зависимости от наличия потомков родительского элемента, MODX будет автоматически добавлять или удалять класс, в соответствии с этим условием.

Примечание: вам может понадобиться настроить параметры pdomenu, такие как parents (id родительского ресурса) и level (глубина поиска). Установите их в соответствии с вашими нуждами.