Как открыть подкатегории сайдбара при просмотре основной категории? Есть решение


Простите, если не нашел уже готовый ответ. В общем, при просмотре родительской категории как сделать так, чтобы в сайдбаре АВТОМАТИЧЕСКИ раскрывался весь список? Пример как надо на фото, но у меня получилось, найдя здесь в справке, сделать категорию открытой всегда поставив соответствующее значение в настройки пункта категории. А как это сделать автоматически? Человек выбрал категорию и теперь ему будет отображаться не только наверху, но и сбоку возможности выбора? Сейчас категория закрыта и чуть подсвечивается только.

2 ответа
  • Владимир Сергеев
    Разработчик
    Решение
    24 сентября 2018 17:10

    Откройте файл sidebar.nav.shop.products.html

    В этом файле найдите строку: 

    <li class="{if ($wa->currentUrl() == $item.url) && empty($item.childs) && ($logic == 'with_duplicates')}active{elseif ($wa->currentUrl() == $item.url) && ($logic == 'with_icons')} active{/if}{if !empty($item.childs)} pro_collapse{if !empty($item.params.side_drop) && $item.params.side_drop == 'down'} drop_down{/if}{/if}{if !empty($item.params.side_open)} pro_open_li{/if}">

    И замените на:

    <li class="{if ($wa->currentUrl() == $item.url) && empty($item.childs) && ($logic == 'with_duplicates')}active{elseif ($wa->currentUrl() == $item.url) && ($logic == 'with_icons')} active{/if}{if !empty($item.childs)} pro_collapse{if !empty($item.params.side_drop) && $item.params.side_drop == 'down'} drop_down{/if}{/if}{if !empty($item.params.side_open) || ($wa->currentUrl() == $item.url)} pro_open_li{/if}">

    Затем строку: 

    <i class="fa {if !empty($item.params.side_open)}{$opened_i}{else}{$closed_i}{/if}" data-closed="{$closed_i}" data-opened="{$opened_i}"></i>

    Замените на: 

    <i class="fa {if !empty($item.params.side_open) || ($wa->currentUrl() == $item.url)}{$opened_i}{else}{$closed_i}{/if}" data-closed="{$closed_i}" data-opened="{$opened_i}"></i>

    Затем строку: 

    <ul class="dropdown-menu pro_collapsed{if !empty($item.params.side_open)} pro_open{/if}{if !empty($item.params.side_col)}{if $item.params.side_col == '2'} two_cols{elseif $item.params.side_col == '3'} three_cols{elseif $item.params.side_col == '4'} four_cols{/if}{/if}">

    Замените на: 

    <ul class="dropdown-menu pro_collapsed{if !empty($item.params.side_open) || ($wa->currentUrl() == $item.url)} pro_open{/if}{if !empty($item.params.side_col)}{if $item.params.side_col == '2'} two_cols{elseif $item.params.side_col == '3'} three_cols{elseif $item.params.side_col == '4'} four_cols{/if}{/if}">

    • Влад
      Решение
      24 сентября 2018 20:49

      Владимир, все великолепно заработало. Можно еще чуть-чуть добавить, я пока ответ ждал понял, что это же прямая аналогия с обычным проводником в Виндовс. Так вот сейчас при выборе категории и правда в сайдабаре показываются подкатегории. Но. Если выбрать любую подкатегорию - все слетает - т.е. товары подкатегории показываются, а на сайдбаре все закрывается. А должно, по логике оставаться открытым. Можно это исправить и будет отлично?! Спасибо большое!

      • Владимир Сергеев
        Разработчик
        Решение
        25 сентября 2018 11:45

        Нет. Так просто не получится сделать.. 
        Т.к. мы не можем отследить родительскую категорию открытой категории..

        • Влад
          Решение
          25 сентября 2018 12:11

          Ясно. Но в любом случае уже гораздо лучше. Спасибо!

  • Андрей
    Решение
    23 сентября 2018 12:40

    В настройках категории, в самом низу есть поле "Дополнительные параметры", вставьте туда - side_open=1
    Сам еле нашел как это делается.

    • Влад
      Решение
      23 сентября 2018 12:48

      Андрей, это намертво открывает при любом раскладе. Т.е. смотрите, если вы на скрине выбираете пункт не "Наградная атрибутика", а скажем "Копилки" - "Копилки" не откроются таким образом показывая свое содержимое сбоку в меню (подкатегории) и показывая на самом сайте все подряд из копилок.

      А вот "Наградная атрибутика" так будет открыта - хотя ее никто не выбирал. И вопрос - можно ли это сделать автоматически, что , в общем-то, классика - или нет.

Добавить ответ
Чтобы добавить комментарий, зарегистрируйтесь или войдите
Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
Подписывайтесь и получайте скидки!

Узнавайте первым о скидках и специальных предложениях!