Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Вывести подкатегории в левом меню


Recommended Posts

Здравствуйте. Имеется opencart 3.

 

В левом меню категорий у меня на данный момент выводятся только категории первого уровня, без вложенных подкатегорий. Нашел код, который выводит это меню:

 

echo "<div class=\"list-group\">
  ";
        $context['_parent'] = $context;
        $context['_seq'] = twig_ensure_traversable((isset($context["categories"]) ? $context["categories"] : null));
        foreach ($context['_seq'] as $context["_key"] => $context["category"]) {
            echo "  ";
            if (($this->getAttribute($context["category"], "category_id", array()) == (isset($context["category_id"]) ? $context["category_id"] : null))) {
                echo " 
  <a href=\"";
                echo $this->getAttribute($context["category"], "href", array());
                echo "\" class=\"list-group-item active\">";
                echo $this->getAttribute($context["category"], "name", array());
                echo "</a> 
  ";
                if ($this->getAttribute($context["category"], "children", array())) {
                    echo "  ";
                    $context['_parent'] = $context;
                    $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["category"], "children", array()));
                    foreach ($context['_seq'] as $context["_key"] => $context["child"]) {
                        echo "  ";
                        if (($this->getAttribute($context["child"], "category_id", array()) == (isset($context["child_id"]) ? $context["child_id"] : null))) {
                            echo "  <a href=\"";
                            echo $this->getAttribute($context["child"], "href", array());
                            echo "\" class=\"list-group-item active\">   - ";
                            echo $this->getAttribute($context["child"], "name", array());
                            echo "</a>                        
  ";
 
                        } else {
                            echo " 
  <a href=\"";
                            echo $this->getAttribute($context["child"], "href", array());
                            echo "\" class=\"list-group-item\">   - ";
                            echo $this->getAttribute($context["child"], "name", array());
                            echo "</a>
  ";
                        }
                        echo "  ";
                    }
                    $_parent = $context['_parent'];
                    unset($context['_seq'], $context['_iterated'], $context['_key'], $context['child'], $context['_parent'], $context['loop']);
                    $context = array_intersect_key($context, $_parent) + $_parent;
                    echo "  ";
                }
                echo "  ";
            } else {
                echo " <a href=\"";
                echo $this->getAttribute($context["category"], "href", array());
                echo "\" class=\"list-group-item\">";
                echo $this->getAttribute($context["category"], "name", array());
                echo "</a>
  ";
            }
            echo "  ";
        }
        $_parent = $context['_parent'];
        unset($context['_seq'], $context['_iterated'], $context['_key'], $context['category'], $context['_parent'], $context['loop']);
        $context = array_intersect_key($context, $_parent) + $_parent;
        echo "</div>
";

Как сделать вывод подкатегорий выбранной категории меню? Вот как здесь :

 

 subcats.jpg

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By andrymos
      Возможно ли сделать поиск по странам + отображение выбранной страны (selected) как на примере?
      Живой пример https://www.farfetch.com/ad/shopping/men/items.aspx
      Заранее спасибо)


    • By kostya242
      Есть категория водонагревателей https://aqua-shop.by/tekhnika-dlya-doma/vodonagrevateli/.
       
      В ней выводятся ссылки на подкатегории: 
       
       
      Если зайти в любую подкатегорию, например, водонагреватели Ballu https://aqua-shop.by/tekhnika-dlya-doma/vodonagrevateli/vodonagrevateli-ballu/, вверху уже отсутствует список имеющихся подкатегорий.
       
      Задача: выводить список имеющихся подкатегорий при переходе на любую из них. 
    • By Sunser
      Скачать/Купить дополнение Ease description - модуль упрощенного описания
      Ease description - модуль упрощенного описания для Opencart и ocStore.
       
      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Так же подойдет для OpencartPro версии 2.1 и 2.3
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Расширение тестировалось на официальных версиях, скачанных из официальных сайтов сборок.
      Модуль тестировался по нескольких раз на всех выше указанных версиях. Так же модуль проверялся на ошибки.
       
      -- Установка расширения:
      Есть два способа установки:
      1) Это просто откройте установщик расширений и выберите данное расширение под версию вашей сборки и установите, после чего обновите "Модификаторы", Потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо. После настройки и сохранения модуля, перейдите в макеты или схемы и выберите место где вы хотите что бы модуль выводился и сохраните. После чего модуль появится на сайте;
      2) Распакуйте файл с версией вашего Opencart или ocStore и перетащите в корень вашего сайта. После чего обновите "Модификаторы", потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо.
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль мультиязычный;
      2) Модуль выводит любой текст и заголовок на сайте, который вы можете редактировать как вам будет удобно;
      3) В модуле можно задавать ширину блока;
      4) В блоке есть настройка, при которой блок скрывается, если его нет в поле видимости, типа lazyload;
      5) В модуле можно выводить кнопку "показать еще";
      6) В модуле можно задавать скролл для текста
      7) Так же можно задавать стили для кнопки "показать еще";
      Зачем нужен этот модуль и как он работает?
      Модуль позволяет гибко, быстро и удобно настраивать вывод блоков с текстом на сайте.
      Например вам нужно на главной странице вывести блок с заголовком и текстом. С такой задачей может с легкостью справится модуль "Текстовый блок - HTML".
      Но а если вам нужно что бы на модуле была кнопка "загрузить еще", что бы при нажатии показывался весь текст. Или же вам надо что бы на модуле был скролл определенной высоты или задать ширину блока. То тогда нужно обращаться к программистам что бы дописывал функционал.
      А в данном модуле уже все сделано и займет немного времени в настройке и выводе.
       
      Модуль легкий в настройке.
      Модуль имеет 14 полей:
      1) Название модуля - тут просто пишите название модуля, оно будет отображаться в админке вашего сайта;
      2) Кнопка "Загрузить еще" - Она отвечает будет ли на блоке с текстом кнопка "показать еще";
      3) Высота блока для загрузить еще - отвечает за высоту блока, после которой появится кнопка "показать еще";
      4) Затухнение блока при кнопке "Загрузить еще" - отвечает за затухнение текста перед кнопкой "показать еще";
      5) Расположение кнопка "Загрузить еще" - отвечает за расположение кнопки "показать еще";
      6) Текст кнопки До нажатия - тут можно задать название кнопки "показать еще", по стандарту, если поле пустое, то выводится стандартный текст;
      7) Текст кнопки После нажатия - тут можно задать название кнопки "скрыть", по стандарту, если поле пустое, то выводится стандартный текст;
      8) Блок со скроллом - отвечает за то будет скрол на тексте или нет;
      9) Высота блока для скролла - задается высота для блока со скроллом;
      10) Умное появление - lazyload;
      11) Ширина блока с описанием - тут задается ширина блока с текстом, если поле равно 0, то ширина блока равна 100%;
      12) Статус - оно отвечает, будет работать модуль или нет на сайте.
      13) Заголовок - тут задается заголовок;
      14) Описание - тут задается описание
       
      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля, пишите в личное сообщения данного сервиса, после чего я вам обязательно отвечу.
       
      Будьте внимательные к описанию данного модуля, его характеристикам и скринам приложенным к нему перед приобретением модулям. Если же вам что-то не понятно или есть вопросы перед приобретением, можете написать автору модуля и уточнить свои вопросы к данному модулю
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
       
      Другие модули автора:
      Sunser Callback - форма обратной связи
      Sunser map - кастомная карта для сайта
      Content manager – модуль учета контента.
      Subscribe_pro - улучшенная подписка на новости
      Sitemap generator - генератор статической карты сайта
      Добавил Sunser Добавлено 28.10.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3.0.2.4
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By Sunser
      Скачать/Купить дополнение Easy code - модуль упрощенного добавления кода
      Easy code - модуль упрощенного добавления кода для Opencart и ocStore.
       
      Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0
      Так же подойдет для OpencartPro версии 2.1 и 2.3
      Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0
      Расширение тестировалось на официальных версиях, скачанных из официальных сайтов сборок.
      Модуль тестировался по нескольких раз на всех выше указанных версиях сайта. Так же модуль проверялся на ошибки.
       
      -- Установка расширения:
      Есть два способа установки:
      1) Это просто откройте установщик расширений и выберите данное расширение под версию вашей сборки и установите, после чего обновите "Модификаторы", Потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо.
      Модуль не заменяет никаких файлов.
       
      -- Что может модуль:
      1) Модуль выводит javascript код(<script>*</script>);
      2) Модуль выводит код для стилей(<style>*</style>);
      3) Модуль выводит html код;
      3) Можно по отдельности включать модуль в headere, body или footere
       
      Зачем нужен этот модуль и как он работает?
      Данный модуль упрощает работу с кодом. Например у вас есть скрипт который нужно добавить в head, вам не нужно дергать вашего админа, отвечающего за сайт или программиста, что бы он добавил этот код или убрал. А можете запросто сами сделать за пару минут в этом модуле.
      Или же вам нужно добавить код аналитики на сайт, то тоже самое, открываете этот модуль и добавляете код, сохраняете, после чего код появится в указанном вами месте.
      Если вам надо что бы этот код не отображался на сайте, то вы можете его отключить в модуле.
       
      -- Ошибки:
      Если вы установили модуль, сделали все как указано свыше и модуль не работает или какая та часть кода не выводится, то скорее всего вы меняли свой шаблон и модификатор не находит указанного пути в файле модификатора и не можете сами исправить, в таком случае, обратитесь к автору модуля и он поможет в данном решении.
      Примечание - Модуль не обрабатывает и не выводит php или twig код

      Модуль легкий в настройке.
      Модуль имеет 6 полей:
      3 поля куда вы добавляете код
      3 поля со статусом, включать этот код или нет

      Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля, пишите в личное сообщения данного сервиса, после чего я вам обязательно отвечу.
       
      Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать.
      Добавил Sunser Добавлено 29.10.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By LazucruB
      Скачать/Купить дополнение Avatar & Last Review by LazucruB
      Пак содержит модуль "Последние отзывы" и модификацию позволяющую пользователю устанавливать аватар в личном кабинете. Только для OpenCart3(ocStore3)
       
      Возможности модуля "Последние Отзывы"
      выбор шаблона отображения модуля(доступны вертикальный список и горизонтальный слайдер); выбор количества последних отзывов для отображения; карточка отзыва содержит аватар, имя рецензента и ссылку на товар, к которому оставлен отзыв.  
      Информация о модификации "Аватар"
      все аватары пользователей находятся в отдельной папке; аватаре никак не изменить с админ-части; выбор соотношения сторон картинки при обрезке кроппером.  
      Установка
      зайдите в админ-панель и перейдите  "Расширения > Установка" и загрузите архив; по пути "Расширения > Модификаторы" совершите обновление; перейдите  "Расширения > Расширения >  Модули" и активируйте "Последние Отзывы" - это позволит произвести модификацию БД необходимую для модификации "Аватар". примечание: модификации "Аватар" рассчитана на дефолтную тему, при использовании иной - обратитесь ко мне за помощью в установке. Добавил LazucruB Добавлено 19.12.2019 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.