Pull to refresh

Wayfinder + UltimateParent = раздельный вывод меню и подменю

Reading time1 min
Views4.7K
image Эта связка решает маленькую, но в контексте Wayfinder важную задачу: выводит корректно меню и подменю раздельно.

Я потратил два дня на поиски этого решения, пока не нашел на официальном форуме MODx ответ. Хочу поделиться с вами свободным переводом этого решения ( оригинал modxcms.com/forums/index.php?topic=34773.0 ).

Суть:

мне необходимо вывести главное меню, а под ним подменю, наглядно это смотрится вот так:



Решение:

Выводим меню: [[Wayfinder?startId=`0` &config=`nunnauuni`]]
а теперь подменю: [!Wayfinder? &startId=`[[UltimateParent]]` &config=`nunnauuni_sub`!]

Кто-то может спросить: «Почему нельзя вывести просто два раза [[Wayfinder?startId=`0` &config=`nunnauuni`]] [[Wayfinder?startId=`[*id*]` &config=`nunnauuni`]] ?»
Я отвечу, что можно, но если проходить в глубь меню, подменю будет теряться.


PS: Все настройки я храню в конфиге Wayfinder (/assets/snippets/wayfinder/configs/nunnauuni.config.php), для меня оказалось так удобнее. Привожу его исходный код, может пригодится кому-нибудь:

<?php
  $level = 0;
  $hideSubMenus = 1;
  $outerClass = 'menu';
  $firstClass = 'first';

  $outerTpl = '@CODE:<ul id="mainmenu">[+wf.wrapper+]</ul>';
  $rowTpl = '@CODE:<li><a href="[+wf.link+]" [+wf.classes+]>[+wf.linktext+]</a></li><li class="sep[+wf.classnames+]" style="float: left"></li>';

?>


* This source code was highlighted with Source Code Highlighter.
Tags:
Hubs:
Total votes 4: ↑4 and ↓0+4
Comments2

Articles