Сайдбар на MODX Revolution?

У меня есть сайдбар. В нем выводятся рубрики. По ТЗ нужно сделать, чтобы когда я заходил в рубрику, в сайдбаре выводилась под моей рубрикой подрубрика. Когда я перехожу в подрубрику, сайдбар оставался таким же, но с простилизированой текущей ссылкой. Во всех остальных местах сайдбар не изменяется.

Делаю это с помощью getResources и думал использовать UltimateParent, но не знаю как правильно все написать.

Чанк сайдбара, который выводит рубрики :
<div class = 'sidebar'>
  <ul class = 'info-line'>	
  	[[!getResources:default=`<h2>Нет записей.</h2>`?
&parents=	`2`
&depth=	`0`
&limit=	`false`
&showHidden=		`1` 
&sortby=	`pagetitle`
&sortdir=	`ASC`
&tpl=	`sidebar-loop`
	 ]]
  </ul>
</div><!--sidebar-->


Он работает как нужно, а вот чанк для вывода подрубрик... с ним проблемы.
По моему замыслу UltimateParent проверряет, если у нашего текущего id родитель = 2, тогда выводим. Но у MODX своя запись и я ее не совсем еще понял.
<li>
  <a href = "[[~[[+id]]]]">[[+pagetitle]]</a>
  [[[[!UltimateParent? &topLevel=`3`]]:is=`2`:or:if=`[[!UltimateParent? &topLevel=`2`]]`:is=`2`:or:if=`[[!UltimateParent? &topLevel=`1`]]`:is=`2`:then=`

	[[!getResources?
	&parents=	`[[*id]]`
	&depth=	`0`
	&limit=	`0` 
	&sortby=	`pagetitle`
	&sortdir=	`ASC`
	&limit=	`false`
	&showHidden=		`1`
	&tpl=	`sidebar-podcat-loop`
	&where=	`{"template:=":3}`

	&includeTVs=	`1`
	&processTVs=	`1`
	&tvFilters=	`categories==2`

	]]
  `]]

</li>


Этот код не работает, т.к. я не могу правильно прописать условия для вывода.
  • Вопрос задан
  • 4000 просмотров
Решения вопроса 1
@Borgia Автор вопроса
Сделал через Wayfinder, оказалось все очень просто, но как всегда к этому приходишь не сразу.
<div class = 'sidebar'>
  <ul class = 'info-line'>	
	[[!Wayfinder? 
	&startId=		`2`
	&hideSubMenus=	`1`
	&ignoreHidden=	`1`
	]]	
  </ul>
</div><!--sidebar-->

Никаких "супер"-конструкций. Проще простого.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вообще, Wayfinder неплохо справляется с формированием меню — его не пробовали, или принципиально отказались?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы