Как сформировать меню pdoMenu из всех контекстов?
Всем привет. Может кто-нибудь подсказать как блоку вывода меню с определённым контекстом вывести название контекста? Сейчас меню выгружено полностью таким образом:
Нужно чтобы оно приняло такой вид:
{'!pdoMenu' | snippet : [
'parents' => 0,
'startId' => 0,
'context' => 'web,store,bezbflava,b1,sb1'
'tplOuter' => '@INLINE <ul {$classes} data-scrollable="true"><li class="nav-item nav-header">{$context}</li> {$wrapper}</ul>',
'outerClass' => 'navbar-nav',
'tpl' => '@INLINE <li class="nav-item"><a href="{$link}" {$classes} {$attributes}><i class="la {$link_attributes}"></i><span>{$menutitle}</span></a>{$wrapper}</li>',
'rowClass' => 'nav-link',
'level' => 2
]}
Нужно чтобы оно приняло такой вид:
<ul class="navbar-nav" data-scrollable="true">
<li class="nav-item nav-header">Context 1</li>
<li class="nav-item"><a href="/" class="nav-link active"><i class="la la-home"></i><span>Пункт меню (context 1)</span></a></li>
<li class="nav-item"><a href="{$_modx->makeUrl(12)}" class="nav-link"><i class="la la-diamond"></i><span>Пункт меню (context 1)</span></a></li>
<li class="nav-item"><a href="{$_modx->makeUrl(14)}" class="nav-link"><i class="la la-music"></i><span>Пункт меню (context 1)</span></a></li>
<li class="nav-item"><a href="artists.html" class="nav-link"><i class="la la-microphone"></i><span>Пункт меню (context 1)</span></a></li>
<li class="nav-item"><a href="stations.html" class="nav-link"><i class="la la-bullseye"></i><span>Пункт меню (context 1)</span></a></li>
<li class="nav-item nav-header">Context 2</li>
<li class="nav-item"><a href="analytics.html" class="nav-link"><i class="la la-bar-chart"></i><span>Пункт меню (context 2)</span></a></li>
<li class="nav-item"><a href="favorites.html" class="nav-link"><i class="la la-heart-o"></i><span>Пункт меню (context 2)</span></a></li>
<li class="nav-item"><a href="history.html" class="nav-link"><i class="la la-history"></i><span>Пункт меню (context 2)</span></a></li>
<li class="nav-item nav-header">Context 3</li>
<li class="nav-item"><a href="events.html" class="nav-link"><i class="la la-calendar"></i><span>Пункт меню (context 3)</span></a></li>
<li class="nav-item"><a href="event-details.html" class="nav-link"><i class="la la-newspaper-o"></i><span>Пункт меню (context 3)</span></a></li>
<li class="nav-item"><a href="add-event.html" class="nav-link"><i class="la la-pencil-square-o"></i><span>Пункт меню (context 3)</span></a></li>
<li class="nav-item nav-header">Context 4</li>
<li class="nav-item"><a href="error.html" class="nav-link load-page"><i class="la la-times-circle-o"></i><span>Пункт меню (context 4)</span></a></li>
<li class="nav-item"><a href="blank.html" class="nav-link"><i class="la la-file"></i><span>Пункт меню (context 4)</span></a>
</li>
</ul>
Комментарии: 2
Вызвать 5 раз pdoMenu
Зачем? Я решил уже:
{'!pdoMenu' | snippet : [
'parents' => '30,31,33,34,35',
'displayStart' => 1,
'context' => 'web,store,bezbflava,b1,sb1',
'tplOuter' => '@INLINE <ul {$classes} data-scrollable="true">{$wrapper}</ul>',
'outerClass' => 'navbar-nav',
'tpl' => '@INLINE <li class="nav-item"><a href="{$link}" {$classes} {$attributes}><i class="la {$link_attributes}"></i><span>{$menutitle}</span></a>{$wrapper}</li>',
'rowClass' => '{if $_modx->context.key != $_modx->resource.context}noajax{/if} nav-link',
'tplStart' => '@INLINE <li class="nav-item nav-header">{$menutitle}</li>{$wrapper}',
'level' => 2,
'where' => [
'class_key:!=' => 'msProduct'
]
]}
Нужно добавить параметры:'displayStart' => 1
и'tplStart' => '@INLINE <li class="nav-item nav-header">{$menutitle}</li>{$wrapper}',
а в параметр parents вставить id's созданных документов и все пункты меню перетащить в эти разделы:'parents' => '30,31,33,34,35',
Ну и на последок включить системную настройку:use_frozen_parent_uris
а после у всех вложенных ресурсов второго уровня «Заморозить URI». Profit =)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.