Как в pdoMenu запретить выводить ссылку на раздел?
        Всем привет. Подскажите пожалуйста как решить такую проблему:
Вывожу меню из нескольких разделов i.shotnes.com/gVb7FKP2 так
Понимаю, что конструкция должна быть примерно такой:
Я писал уже об этом, извините, что дублирую но решения так и не придумал.
    
    
                                                                                
            Вывожу меню из нескольких разделов i.shotnes.com/gVb7FKP2 так
[[pdoMenu? &parents=`4, 8, 13, 51` &displayStart=`1` 
&tplStart=`@INLINE <li> <a href="[[+link]]"> [[+menutitle]] </a> [[+wrapper]]</li>` 
&tplOuter=`@INLINE <ul>[[+wrapper]]</ul>` &level=`1` 
&tplInner=`@INLINE <div class="drop"><ul>[[+wrapper]]</ul></div>`
]]Получается всё правильно, но нужно убрать ссылку с главных пунктов только у тех, у которых есть подпункты, что бы не городить промежуточные страницы разделов.Понимаю, что конструкция должна быть примерно такой:
&tplStart=
ЕСЛИ КОНТЕЙНЕР ТО=`@INLINE <li>  [[+menutitle]]  [[+wrapper]]</li>` 
В ПРОТИВНОМ=`@INLINE <li> <a href="[[+link]]"> [[+menutitle]] </a> [[+wrapper]]</li>`Но как это реализовать не знаю.Я писал уже об этом, извините, что дублирую но решения так и не придумал.
Комментарии: 24
                Почему нельзя сделать так?
                    &tplStart=`@INLINE <li> <span> [[+menutitle]] </span> [[+wrapper]]</li>`            
                Тогда конечно ссылка пропадёт, но пропадает она у всех            
                    
                У кого это, «у всех»?
&tplStart работает только для корневых пунктов меню, у остальных должен работать параметр &tpl.
А, вижу, ты дописал в топик про потомков. Тогда да, или проверять плейсхолдер [[+children]], или отключать ссылку на javascript — что быстрее и, по моему, правильнее.
                    &tplStart работает только для корневых пунктов меню, у остальных должен работать параметр &tpl.
А, вижу, ты дописал в топик про потомков. Тогда да, или проверять плейсхолдер [[+children]], или отключать ссылку на javascript — что быстрее и, по моему, правильнее.
                Я указываю несколько родителей i.shotnes.com/gVb7FKP2 указывая &parents=`4, 8, 13, 51`
Получается у каждого начального элемента свой &tplStart
                    Получается у каждого начального элемента свой &tplStart
                Подскажи пожалуйста, как нибудь по простому можно его проверить, что бы вот такое реализовать:
                    ЕСЛИ КОНТЕЙНЕР ТО=`@INLINE <li>  [[+menutitle]]  [[+wrapper]]</li>` 
В ПРОТИВНОМ=`@INLINE <li> <a href="[[+link]]"> [[+menutitle]] </a> [[+wrapper]]</li>`А то мод сниппета я точно не сделаю :)            
                *isfolder:is=`1`:then=`true`:else=`false` в чанке или аналогичное условие в prepareSnippet            
                    &tplStart=`@INLINE [[*isfolder:is=`1`:then=`<li> <a href="[[+link]]"> [[+menutitle]] </a> [[+wrapper]]</li>`:else=`<li>  [[+menutitle]]  [[+wrapper]]</li>`]]`Работает, но почему тосчитает всё папками            
                Так ты в контейнере и вызываешь, и условие проверяешь для isfolder текущего документа.
docs.modx.pro/components/pdotools/general-settings — обрати внимание на картинку с Бартом.
                    docs.modx.pro/components/pdotools/general-settings — обрати внимание на картинку с Бартом.
                В очередной раз Спасибо! :)
Надо было убрать в чанк
                    Надо было убрать в чанк
[[+isfolder:is=`1`:then=`<li> <a> [[+menutitle]] </a> [[+wrapper]]</li>`:else=`<li> <a href="[[+link]]"> [[+menutitle]] </a> [[+wrapper]]</li>`]]И всё заработало как надо :)            
                Расшифрую, что сказал Василий. Перед isfolder нужно ставить "+", а не звездочку.            
                    
                нет, так вообще не работает :)            
                    
                Ну так Василий же написал, что в @INLINE фильтры работать не будут. А я подсказал, что в чанке нужно поставить + вместо звездочки.
Комментарии нужно читать внимательнее.
                    Комментарии нужно читать внимательнее.
                и убрать @INLINE :)            
                    
                подскажите плиз что не так?
мне не нужна ссылка у родителя
                    мне не нужна ссылка у родителя
[[pdoMenu?
	&parents=`0`
	&level=`2`
	&displayStart=`1`
	&tplStart=`@INLINE <li> <span> [[+menutitle]] </span> [[+wrapper]]</li>`
	&tplOuter=`@INLINE <ul class="sf-menu">[[+wrapper]]</ul>`
	&tpl=`@INLINE <li><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]`
	&tplHere=`@INLINE <li class="active"><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]`
	&tplParentRow=`@INLINE <li><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a><ul>[[+wrapper]]</ul>`
	&tplInner=`@INLINE <li>[[+wrapper]]`
	&tplParentRowHere=`@INLINE <li class="active"><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a><ul>[[+wrapper]]</ul>`
	&tplParentRowActive=`@INLINE <li class="active"><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a><ul>[[+wrapper]]</ul>`
]]            
                Убрать ссылку в tplParentRow.            
                    
                блин)
спасибо
                    спасибо
                а если в меню контейнер есть?            
                    
                Вот так выведет пункт контейнер без ссылки на родителя:
                    &tplParentRow=`@INLINE <li><span>[[+menutitle]]</span><ul>[[+wrapper]]</ul>`Или я не так понял задачу =)            
                так ссылка пропадет у всех родителей не зависимо контейнер там или нет
а нужно чтобы если контейнер то ссылка оставалась
                    а нужно чтобы если контейнер то ссылка оставалась
                Тогда у каких родителей не должно быть ссылки, если tplParentRow это чанк оформления пункта контейнера (родителя)?
Приводи код структуры меню, где чего не должно быть, а то так долго можно гадать)
                    Приводи код структуры меню, где чего не должно быть, а то так долго можно гадать)
                контейнер в смысле ссылка на страницу контейнер
zulus.pp.ua/
«услуги» ведет на страницу контейнер а «статьи» на обычную страницу
нужно чтобы на контейнер осталась а на обычные нет
                    zulus.pp.ua/
«услуги» ведет на страницу контейнер а «статьи» на обычную страницу
нужно чтобы на контейнер осталась а на обычные нет
                Думаю тут проще всего проверкой сделать:
                    {if $id == 4}<span>{$pagetitle}</span>{else}<a href="{$link}" {$attributes}>{$menutitle}</a>{/if}Где 4 это id страницы «статьи».            
                клас спасибо работает )
а id через запятую там можно будет перечислять если еще пункты меню добавятся?
                    а id через запятую там можно будет перечислять если еще пункты меню добавятся?
                Да, конечно
                    {if $id in [1, 2, 3, 4]}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.