support 447 Опубликовано 3 марта, 2014 Жалоба Share Опубликовано 3 марта, 2014 (изменено) Можно так сделать. В Админке - Оформление - Микро-шаблоны правьте шаблон categories-box и меняйте шаблон бокса Разделы: {if $content_list} <section class="widget inner categories-widget"> <h3 class="widget-title">{lang}Categories{/lang}</h3> <ul class="icons clearfix"> {foreach from=$content_list item=node} <li{if $node.alias == $content_alias} class="active"{/if}><a href="{$node.url}">{$node.name}</a></li> {/foreach} </ul> </section> {/if} на: {if $content_list} <section class="widget inner categories-widget"> <h3 class="widget-title">{lang}Categories{/lang}</h3> <ul class="icons clearfix"> {foreach from=$content_list item=node} <li{if $node.alias == $content_alias} class="active"{/if}><a href="{$node.url}">{$node.name}</a> {content_listing template='links' parent={$node.id} type='category' limit='100'} </li> {/foreach} </ul> </section> {/if} Изменено 14 июля, 2015 пользователем VaM Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 июля, 2015 Автор Жалоба Share Опубликовано 6 июля, 2015 Вот ещё одно решение от пользователя Adilan - От jstree меню в итоге отказался, сделал по своему, работает быстрей и правильней (для меня): - при нажатии на пункт меню, выбранное меню открывается, все остальные закрываются; - если в категории первого уровня есть товары (без вложенных меню), товары выводятся в меню; - при выборе товара, или меню, выбранный товар или пункт меню подсвечиваются (настройки css). Вот решение: В основном шаблоне вызываем свой шаблон меню: <ul class="my-right-mnu"> {content_listing template="my-links-category" parent="0" type="category"} </ul> Текст микрошаблона my-links-category: {foreach from=$content_list item=node} <li{if $node.alias == $content_alias} class="active"{/if}><a href="{$node.url}">{$node.name}</a> {if ($node.alias==$content_alias)}<ul class="podmnu"> {content_listing template='my-subcat-mnu-list0' parent={$node.id} type='category' limit='100'} {content_listing template="my-mnu-product-listing0" parent={$content_id} page={$page} type="product,downloadable" current_order={$current_order}} </ul>{/if} {if ($node.alias!=$content_alias)}<ul class="podmnu"> {content_listing template='my-subcat-mnu-list' parent={$node.id} type='category' limit='100'} {if $parent_id == $node.id}{content_listing template="my-mnu-product-listing" parent={$parent_id} page={$page} type="product,downloadable" current_order={$current_order}}{/if} </ul>{/if} </li> {/foreach} Текст микрошаблона my-subcat-mnu-list0 {foreach from=$content_list item=node} <li class="no-active"><a href="{$node.url}">{$node.name}</a></li> {/foreach} Текст микрошаблона my-subcat-mnu-list {foreach from=$content_list item=node} {if $node.alias == $content_alias}{$fl = true}{/if} {if $node.id == $parent_id}{$fl1 = true}{/if} {/foreach} {foreach from=$content_list item=node} {if $node.alias == $content_alias}<li class="active"><a href="{$node.url}">{$node.name}</a></li>{else} {if $fl or $fl1}<li {if $node.id == $parent_id}class="active"{/if}><a href="{$node.url}">{$node.name}</a></li>{/if} {/if} {/foreach} Текст микрошаблона my-mnu-product-listing0 {if $content_list} <!-- start: products listing --> <ul class="thumbnails"> {foreach from=$content_list item=node} <li class="no-active"><a href="{$node.url}">{$node.name}</a></li> {/foreach} </ul> <!-- end: products listing --> {*else} {lang}No Items Found{/lang*} {/if} Текст микрошаблона my-mnu-product-listing {if $content_list} <!-- start: products listing --> <ul class="thumbnails"> {foreach from=$content_list item=node} <li {if $node.alias == $content_alias}class="active"{/if}><a href="{$node.url}">{$node.name}</a></li> {/foreach} </ul> <!-- end: products listing --> {*else} {lang}No Items Found{/lang*} {/if} Ссылка на сообщение Поделиться на другие сайты
Adilan 0 Опубликовано 14 октября, 2018 Жалоба Share Опубликовано 14 октября, 2018 При многоуровневом меню получается много обращений к базе при формировании меню. Вот пример: Раздел 1 - Подраздел 1 - Подраздел 2 Раздел 2 - Подраздел 1 - Подраздел 2 - - ПодПодраздел 1 - - ПодПодраздел 2 Раздел 3 - Подраздел 1 - Подраздел 2 В данном случае у нас получаются следующие обращения к базе для вывода меню. 1-е обращение - формируем уровень Раздел 2-е обращение - формируем уровень Подраздел Раздела 1 3-е обращение - формируем уровень Подраздел Раздела 2 4-е обращение - формируем уровень ПодПодраздел Подраздела Раздела 2 и т.д. А как можно за одно обращение вытянуть все разеделы в массив и уже с ними работать? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 октября, 2018 Автор Жалоба Share Опубликовано 19 октября, 2018 В 14.10.2018 в 18:49, Adilan сказал: При многоуровневом меню получается много обращений к базе при формировании меню. Вот пример: Раздел 1 - Подраздел 1 - Подраздел 2 Раздел 2 - Подраздел 1 - Подраздел 2 - - ПодПодраздел 1 - - ПодПодраздел 2 Раздел 3 - Подраздел 1 - Подраздел 2 В данном случае у нас получаются следующие обращения к базе для вывода меню. 1-е обращение - формируем уровень Раздел 2-е обращение - формируем уровень Подраздел Раздела 1 3-е обращение - формируем уровень Подраздел Раздела 2 4-е обращение - формируем уровень ПодПодраздел Подраздела Раздела 2 и т.д. А как можно за одно обращение вытянуть все разеделы в массив и уже с ними работать? Expand Есть два встроенных меню, попробуйте их. Метки: {category_box_jstree} и {category_box} Там вроде бы всё за раз вытаскивается. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения