Перейти к содержанию
Форум поддержки пользователей VamShop

Бокс разделы с подкатегориями


Рекомендуемые сообщения

Добрый день! 

 

Подскажите как организовать правильный вывод разделов в боксе Категории, чтобы активная ПОДКАТЕГОРИЯ выделялась.

 

links - выглядит так:

 

{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>
    {content_listing template='footer-links' parent={$node.id} type='category' limit='100'}<!--вывод подкатегорий-->
  </ul>{/if}
</li>
{/foreach}
 
footer-links:
 
{foreach from=$content_list item=node}
<li{if $node.alias == $content_alias} class="active"{/if}><a href="{$node.url}">{$node.name}</a></li>
{/foreach}

 

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

У меня, в принципе, то же самое. На тех же ссылках брал что вы дали. Проблема в том, как отследить что открыта именно какая-либо подкатегория.

 

Предположим есть категории 1, 2, 3, и подкатегории 1.1., 1.2, 1.3, 2.1.,2.2......

 

Как программно отследить что открыта именно Подкатегория категории 1 (предположим 1.2.)?

 

Вышеперечисленные примеры в одном случае всегда отображают все категории с подкатегорями, в другом - при выборе подкатегории, она открывается, но в меню отображается только категория более высокого уровня. 

Ссылка на сообщение
Поделиться на другие сайты

Покажите как у Вас сейчас сделан вывод подкатегорий.

 

По умолчанию ведь подсвечивается, посморите на demo.vamshop.com

 

Когда заходите в раздел в меню Разделы активная категорий подсвечена.

Ссылка на сообщение
Поделиться на другие сайты

Покажите html-код этого блока.

Наверное он у Вас в Админке - Оформление - Микро-шаблоны.

 

или в первом сообщении это и есть код этого блока?!

Ссылка на сообщение
Поделиться на другие сайты
Да, в VamShop 2 есть ведь уже готовые 2 меню.
 
 
Скачивать не надо, они уже встроены в магазин, просто скрины посмотрите, как меню выглядит и выберите то, что нравится.
Лично мне нравится WaSlideMenu, это меню на ajax, по мне так удобное, без перезагрузки страницы работает.
 
Вам наверное лучше использовать какое-то из меню, там как раз вся структура категорий-подкатегорий выводится.
 
Вместо вот этого Вашего кода указать в Админке - Оформление - Шаблоны - Основной шаблон:
{category_box}
или:
{category_box_jstree}
Ссылка на сообщение
Поделиться на другие сайты

Хорошо, тогда еще вопросы:

Как я могу догадаться что есть встроенные модули, например, варианты этих меню. Как из админки я могу увидеть их наличие?

Предложенные варианты все равно не совсем то что мне нужно, нужно подпилить, где можно отредактировать код?

И все таки, предположим есть меню: Телефоны и подменю: Стационарные и Мобильные.

Как программно отследить что открыто именно подменю Мобильные и что Мобильные является дочерним меню Телефоны? Т.е. в коде мы используем {if $node.alias == $content_alias}, т.е. в нашем случае $content_alias = Мобильные. Какое условие задать, чтобы определить что $content_alias является дочерним элементом меню Телефоны?

Ссылка на сообщение
Поделиться на другие сайты

Всё, есть для каталога, все тэги, их описание, можно в Админке - Расширения - Тэги.

 

Вы ставили waslidemenu ?!

 

Там же как раз выводятся и подкатегории и подсвечивается классом активная категория, если я правильно помню.

Ссылка на сообщение
Поделиться на другие сайты

или то же jstree menu, там тоже выделяется активная категория, через Сss можно задать оформдение любое.

Ссылка на сообщение
Поделиться на другие сайты

Микрошаблоны category_box и category_box_jstree нашел, спасибо. jstree menu мне почти подходит, но проблема-то остается.

 

Мне нужно чтобы меню оставалось открытым в случае если выбрана подкатегория, а во всех предложенных Вами вариантах подкатегории закрываются. Т.е., если посетитель зашел в подкатегорию Мобильные (см. мой скрин выше), он увидит правый рисунок. И не увидит в меню пункта Мобильные, а увидит скрин справа.

Ссылка на сообщение
Поделиться на другие сайты

Вам изначально как нужно, что б всё дерево категорий-подкатегорий было развёрнуто или свернуто?!

 

Подкатегории сразу должны быть видны или только когда в категорий зайдёшь?

Ссылка на сообщение
Поделиться на другие сайты

Понятно, по умолчанию такого меню нет.

 

Надо подумать как правильно задать условие, что б разворачивалось только при активной категории.

Ссылка на сообщение
Поделиться на другие сайты
Пока только придумал если каждую новую подкатегорию "ручками" в микрошаблон добавлять, так работает, может есть предложения как-то упростить код?
 
{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)
  or ($node.alias=="МЕНЮ1" and $content_alias=="ПОДМЕНЮ1.1")
  or ($node.alias=="МЕНЮ1" and $content_alias=="ПОДМЕНЮ1.2")
  or ($node.alias=="МЕНЮ1" and $content_alias=="ПОДМЕНЮ1.3")
  or ($node.alias=="МЕНЮ2" and $content_alias=="ПОДМЕНЮ2.1")
  or ($node.alias=="МЕНЮ2" and $content_alias=="ПОДМЕНЮ2.2")
  or ($node.alias=="МЕНЮ2" and $content_alias=="ПОДМЕНЮ2.3")} <ul>
    {content_listing template='my-footer-links' parent={$node.id} type='category' limit='100'}
  </ul>{/if}
</li>
{/foreach}
 
это ведь не дело
Ссылка на сообщение
Поделиться на другие сайты

Пока что до конца не решил, необходимо ещё время, может получится придумать что-то.

 

Пока получилось показывать подкатегории при заходе в категорию, но при заходе в подкатегорию всё равно сворачивается меню.

Ссылка на сообщение
Поделиться на другие сайты

В jstree меню есть опция сохранения текущего состояния, т.е. если дерево развёрнутое, то оно сохраняется при следующем обновлении страницы.

 

Вот возьмите исправленный /app/Vendor/smarty/vam_plugins/fucntion/category_box_jstree.php

 

В Админке - Оформление - Шаблоны - Основной шаблон вставьте метку {category_box_jstree}

function.category_box_jstree.php

Ссылка на сообщение
Поделиться на другие сайты

Супер! Вы молодец! Почти то что нужно! Только вот при нажатии на категорию в которой есть подкатегории страница категории не открывается, где поменять?

 

И второе: после заливки файла на открывается в админке пункт Расширения-Теги (проверил, зависит именно от этого файла).

Ссылка на сообщение
Поделиться на другие сайты

Вот попробуйте этот файл, теперь при клике по названию категории идёт переход, при клике на стрелку - разворачивается дерево.

 

У меня Админка - Расширения - Тэги открывается.

 

Может Вы что-то в папку /app/Vendor/smarty/vam_plugins/ у себя добавили?!

function.category_box_jstree.php

Ссылка на сообщение
Поделиться на другие сайты

У меня как и прежде меню первого уровня не открываются, точно тот файл?

 

Админка - Расширения - Теги открываются, видимо, лишних файлов там  не должно быть, а я старый файл переименовал и оставил когда ваш новый заливал.

Ссылка на сообщение
Поделиться на другие сайты

Вроде тот.

 

Вот попробуйте.

 

и ещё попробуйте сбросить кэш в Админке - Настройки - Мой магазин, кнопка внизу справа.

function.category_box_jstree.php

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...