Поблема с меню, не работает параметр excludeprefix="", совместно с childrenof=""
Как можно исключить некоторые алиасы страниц?
Menu и "excludeprefix"
Re: Menu и "excludeprefix"
Вынужден вас огорчить. Параметр excludeprefix работает только для дочерних элементов текущих элементов. ))
Поясню на примере:
Page1
Page2
-- Page3
-- Page4
-- Page5
-- -- Page6
-- -- Page7
-- Page8
Page9
При вызове {menu childrenof="Page2"} мы получим Page3, Page4, Page5, Page6, Page7, Page8
При вызове {menu childrenof="Page2" excludeprefix="Page4"} ничего не изменится, а вот если исключить Page6 или Page7 {menu childrenof="Page2" excludeprefix="Page6"}, то в таком случае всё сработает.
Вот так вот странно написан код.
Без копания в модуле вы можете решить эту задачу следующим способом. В шаблоне проверять алиас страницы и пропускать итерацию для не нужных страниц.
Поясню на примере:
Page1
Page2
-- Page3
-- Page4
-- Page5
-- -- Page6
-- -- Page7
-- Page8
Page9
При вызове {menu childrenof="Page2"} мы получим Page3, Page4, Page5, Page6, Page7, Page8
При вызове {menu childrenof="Page2" excludeprefix="Page4"} ничего не изменится, а вот если исключить Page6 или Page7 {menu childrenof="Page2" excludeprefix="Page6"}, то в таком случае всё сработает.
Вот так вот странно написан код.
Без копания в модуле вы можете решить эту задачу следующим способом. В шаблоне проверять алиас страницы и пропускать итерацию для не нужных страниц.
Code: Select all
{foreach from=$nodelist item=node}
{if $node->alias != "Page5" && $node->alias != "Page4"}
<li><a href="{$node->url}">{$node->menutext}</a></li>
{/if}
{/foreach}