Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Решено] Вывод категорий с подкатегориями


Recommended Posts

Здравствуйте, вот вопрос в чем есть модуль категорий, я вот сделал вот так http://avtoex.mcdir.ru/ (слева "каталог товаров") и при наведении показывается меню второго уровня и я хочу сделать что бы стрелочки были только у тех категорий у которых есть подкатегроии 2-го уровня вот сейчас выводится так 

  <?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id']  ) { ?>
  <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>

 

я так понимаю надо написать что то вроде

 

  <?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id']  ) { ?>
  <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?></a>
      <?php } else { ?>
  <?php ($category['category_id'] == $category['children'] ) { ?>

<a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>

 

Ну да я не очень в php, ну подскажите как это сделать.

То есть это то же самое что вывести только те категории если есть у них подкатегории.

Будьте добры.

 

 

 

 

 

 

 

Link to post
Share on other sites

1 час назад, wowez сказал:

Здравствуйте, вот вопрос в чем есть модуль категорий, я вот сделал вот так http://avtoex.mcdir.ru/ (слева "каталог товаров") и при наведении показывается меню второго уровня и я хочу сделать что бы стрелочки были только у тех категорий у которых есть подкатегроии 2-го уровня вот сейчас выводится так 


  <?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id']  ) { ?>
  <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>

 

я так понимаю надо написать что то вроде

 


  <?php foreach ($categories as $category) { ?>
  <?php if ($category['category_id']  ) { ?>
  <a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?></a>
      <?php } else { ?>
  <?php ($category['category_id'] == $category['children'] ) { ?>

<a data-help="#<?php echo $category['category_id'] ?>" href="<?php echo $category['href']; ?>" class="list-group-item active" id="catalogmenu">&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-right" aria-hidden="true"></i>&nbsp;&nbsp;&nbsp;<?php echo $category['name']; ?><i class="fa fa-angle-right rightone" aria-hidden="true"></i></a>

 

Ну да я не очень в php, ну подскажите как это сделать.

То есть это то же самое что вывести только те категории если есть у них подкатегории.

Будьте добры.

 

 

 

 

 

 

 

всё убили тему, решено.

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 vlkombat
      400
      Скачать/Купить дополнение


      Баннеры произвольно среди товаров и категорий
      Модуль позволяет:
      Вывести среди товаров, и подкатегорий баннеры с произвольным расположением в сетке - после n-го товара, или подкатегории.  Баннеры можно вывести среди товаров (подкатегорий) на всю ширину, или часть ширины страницы, разместив рядом произвольное число товаров.  Вывести слайдер, или одиночное изображение на странице категории Можно задать свои CSS классы и оформить в таблице стилей Есть версия с поддержкой многоязычности Установка
      Стандартно, через ocmod. В процессе установки в БД добавляется таблица "category_images".
       
      Панель управления (admin/)
      Версия 1:
      Все баннеры добавляются в карточке категории (все русифицировано, тестовый сайт без перевода):

       
      Для каждого баннера можно задать заголовок, описание, ссылку, размеры, CSS классы. 
      В полях "После категории" и "После товара" - задается порядковый номер подкатегории/товара на странице, после которого будет отображаться баннер. Если задать отрицательное значение, баннер будет выведен в самом начале. Если оставить поле не заполненным ("0") - будет отображено либо одиночное изображение вверху, либо слайдер (зависит от количества изображений).
      После одной категории, товара можно добавить только один баннер. До категорий, товаров может быть добавлено сколько угодно баннеров (вначале будут выведены баннеры в порядке сортировки, затем товары, категории).
       
      Версия 2

       
      Только в версии 2:
      Баннером может быть как отдельное изображение, так и заранее подготовленные баннеры в "Дизайн->Баннеры"
      Если выбрать заранее подготовленные изображения, их можно отобразить или в виде слайдшоу, или показывать один из них рандомно.
      Для каждого баннера можно указать страницы для вывода
       
      Пример:

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ to img category), если ничего не отмечено - используются размеры изображения категории.
       
      Пользовательская часть (catalog/)
      Модификации подвергаются: модель, контроллер и шаблон категории. 
      Изменения в контроллер и шаблон (особенно шаблон) рекомендую вносить вручную, для большей гибкости.
      К тому же, если в контроллере какие-либо проблемы связанные с конфликтом модификаторов, или ошибки маловероятны, то в шаблоне может быть множество других изменений (скорее всего есть), а соответственно возможна некорректная модификация.
      Модификатор проверен с использованием стандартного шаблона - все работает.
      В шаблоне добавляется два блока вначале, там где идет проверка на наличие подкатегорий. Баннеры можно выводить независимо от того, есть ли дочерние категории, если же для категории не указано ни одного баннера в подкатегориях, их вывод будет стандартным.
      В блоке товара так же есть небольшие изменения - если на месте товара выведен баннер, то скрываются стандартные кнопки и при наличии ссылки появляется "подробнее". Если ссылка не задана - она обирается с заголовка и изображения.
      Собственных таблиц стилей модификатор не содержит (что бы не ухудшить скорость загрузки страницы). Для более-менее корректного отображения рекомендую добавить в .css файл темы следующее:
      .cat-list .item {height: 300px;overflow: hidden;text-align: center;position: relative;background: #fff;margin-bottom: 15px;box-shadow: 0px 2px 7px #b5b5b5;     border-radius: 4px;} .cat-list .item img {position:relative;z-index: 1;} .cat-list .item .title {text-decoration: none;color: #000;font-size: 15px;} .cat-list .item .desc {position: absolute;z-index: 2;background: #f7f5f5a6;padding: 10px;left:0px;bottom:0px;width: 100%;box-sizing: border-box;} .cat-list .float .item {padding-left: 0px;text-align: center;} .cat-list .float .item .desc {background: none;position: static;text-align: right;} .cat-list .item .count {position: absolute;top: 0px;right: 0px;font-size: 14px;     background: #5a5a5a;color: #fff;height: 20px;line-height: 20px;     width: 20px;text-align: center;border-radius: 20px;} .cat-list .float .item img {float: left;margin-right: 10px;} .button-group .btp-href {background-color: #eee;color: #888;line-height: 38px;font-weight: bold;border: 0px;text-transform: uppercase;display: block;text-align: center;} Класс "float" можно использовать для широких баннеров, где слева будет изображение, справа текст.
       
      По модификации блока товара в шаблоне категории. Сразу после
      <?php foreach ($products as $product) { ?> добавляется проверка - товар это, или баннер. Чуть выше пагинации проверка заканчивается. Для поиска используется вот такой способ:
       <search><![CDATA[<?php echo $pagination; ?>]]></search>       <add position="before" offset="3"> В стандартном шаблоне место вставки выглядит так:

      Если у вас есть несовпадение, можно получить или ошибку 500, или съехавшую верстку. 
      В остальном все должно быть нормально, если что - поправимо.
       
      Начиная с версии 1.0 баннеры среди товаров можно выделять в отдельные контейнеры, куда так же можно добавлять и товары (разрыв в списке товаров). Как это работает - на видео:

      httpm_banner_cat_akcii.mp4  
      ОСОБЕННОСТИ для Opencart 1.5
       В опенкарт 1.5 скрипты на странице категории работают с '.product-list > div' и '.product-grid > div', потому для блока с баннером использовал тэг "section".
      В CSS где встречается .product-list > div и .product-grid > div нужно добавить section, что бы получилось:
      .product-list > div, .product-list > section {.......} .product-list > div + div, .product-list > section + div {.......} .product-grid > div, .product-grid > section {.......} #column-left + #column-right + #content .product-grid > div, #column-left + #column-right + #content .product-grid > section {.......}  
      DEMO
      Пример категории, с баннером среди товаров, баннерами среди категорий, а так же слайдшоу вверху
      Панель управления
      Логин/пароль: demo/demo
       
      ОПИСАНИЕ БУДЕТ ДОПОЛНЕНО
       
      Добавил vlkombat Добавлено 13.08.2018 Категория Цены, скидки, акции, подарки Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет Старая цена  
    • By vlkombat
      Модуль позволяет:
      Вывести среди товаров, и подкатегорий баннеры с произвольным расположением в сетке - после n-го товара, или подкатегории.  Баннеры можно вывести среди товаров (подкатегорий) на всю ширину, или часть ширины страницы, разместив рядом произвольное число товаров.  Вывести слайдер, или одиночное изображение на странице категории Можно задать свои CSS классы и оформить в таблице стилей Есть версия с поддержкой многоязычности Внимание! Есть баг! Если выводить баннер среди товаров не на всех страницах, будет "съедать" товары... Можно выводить на всех страницах категории одни и те же баннеры, можно выводить разные.. главное - на каждой странице выбранной категории должен быть баннер! Не планировал публиковать до исправления, но похоже нужен.. а времени исправить нет пока.. ну вот совсем-совсем. Пока так(
      Установка
      Стандартно, через ocmod. В процессе установки в БД добавляется таблица "category_images".
       
      Панель управления (admin/)
      Версия 1:
      Все баннеры добавляются в карточке категории (все русифицировано, тестовый сайт без перевода):

       
      Для каждого баннера можно задать заголовок, описание, ссылку, размеры, CSS классы. 
      В полях "После категории" и "После товара" - задается порядковый номер подкатегории/товара на странице, после которого будет отображаться баннер. Если задать отрицательное значение, баннер будет выведен в самом начале. Если оставить поле не заполненным ("0") - будет отображено либо одиночное изображение вверху, либо слайдер (зависит от количества изображений).
      После одной категории, товара можно добавить только один баннер. До категорий, товаров может быть добавлено сколько угодно баннеров (вначале будут выведены баннеры в порядке сортировки, затем товары, категории).
       
      Версия 2

       
      Только в версии 2:
      Баннером может быть как отдельное изображение, так и заранее подготовленные баннеры в "Дизайн->Баннеры"
      Если выбрать заранее подготовленные изображения, их можно отобразить или в виде слайдшоу, или показывать один из них рандомно.
      Для каждого баннера можно указать страницы для вывода
       
      Пример:

      Здесь первый баннер будет выведен вверху страницы, отдельно. Желательно задать ему размеры. Если размер не задан, будет использован полный размер изображения (как есть).
      Второй баннер будет выведен после третьего товара, с заголовком, ссылкой, описанием. Если размеры не заданы, будут использованы стандартные для товара
      Третий баннер будет выведен после третей категории в списке. Размеры изображения или произвольные, или будет использован размер изображения категории (из настроек). 
      Размеры изображений категорий отдельно задать нельзя, но можно использовать для этого заданный размер любого баннера, достаточно отметить чекбокс "+ для категорий" (+ to img category), если ничего не отмечено - используются размеры изображения категории.
       
      Пользовательская часть (catalog/)
      Модификации подвергаются: модель, контроллер и шаблон категории. 
      Изменения в контроллер и шаблон (особенно шаблон) рекомендую вносить вручную, для большей гибкости.
      К тому же, если в контроллере какие-либо проблемы связанные с конфликтом модификаторов, или ошибки маловероятны, то в шаблоне может быть множество других изменений (скорее всего есть), а соответственно возможна некорректная модификация.
      Модификатор проверен с использованием стандартного шаблона - все работает.
      В шаблоне добавляется два блока вначале, там где идет проверка на наличие подкатегорий. Баннеры можно выводить независимо от того, есть ли дочерние категории, если же для категории не указано ни одного баннера в подкатегориях, их вывод будет стандартным.
      В блоке товара так же есть небольшие изменения - если на месте товара выведен баннер, то скрываются стандартные кнопки и при наличии ссылки появляется "подробнее". Если ссылка не задана - она обирается с заголовка и изображения.
      Собственных таблиц стилей модификатор не содержит (что бы не ухудшить скорость загрузки страницы). Для более-менее корректного отображения рекомендую добавить в .css файл темы следующее:
      .cat-list .item {height: 300px;overflow: hidden;text-align: center;position: relative;background: #fff;margin-bottom: 15px;box-shadow: 0px 2px 7px #b5b5b5;     border-radius: 4px;} .cat-list .item img {position:relative;z-index: 1;} .cat-list .item .title {text-decoration: none;color: #000;font-size: 15px;} .cat-list .item .desc {position: absolute;z-index: 2;background: #f7f5f5a6;padding: 10px;left:0px;bottom:0px;width: 100%;box-sizing: border-box;} .cat-list .float .item {padding-left: 0px;text-align: center;} .cat-list .float .item .desc {background: none;position: static;text-align: right;} .cat-list .item .count {position: absolute;top: 0px;right: 0px;font-size: 14px;     background: #5a5a5a;color: #fff;height: 20px;line-height: 20px;     width: 20px;text-align: center;border-radius: 20px;} .cat-list .float .item img {float: left;margin-right: 10px;} .button-group .btp-href {background-color: #eee;color: #888;line-height: 38px;font-weight: bold;border: 0px;text-transform: uppercase;display: block;text-align: center;} Класс "float" можно использовать для широких баннеров, где слева будет изображение, справа текст.
       
      По модификации блока товара в шаблоне категории. Сразу после
      <?php foreach ($products as $product) { ?> добавляется проверка - товар это, или баннер. Чуть выше пагинации проверка заканчивается. Для поиска используется вот такой способ:
       <search><![CDATA[<?php echo $pagination; ?>]]></search>       <add position="before" offset="3"> В стандартном шаблоне место вставки выглядит так:

      Если у вас есть несовпадение, можно получить или ошибку 500, или съехавшую верстку. 
      В остальном все должно быть нормально, если что - поправимо.
       
      Начиная с версии 1.0 баннеры среди товаров можно выделять в отдельные контейнеры, куда так же можно добавлять и товары (разрыв в списке товаров). Как это работает - на видео:

      httpm_banner_cat_akcii.mp4  
      ОСОБЕННОСТИ для Opencart 1.5
       В опенкарт 1.5 скрипты на странице категории работают с '.product-list > div' и '.product-grid > div', потому для блока с баннером использовал тэг "section".
      В CSS где встречается .product-list > div и .product-grid > div нужно добавить section, что бы получилось:
      .product-list > div, .product-list > section {.......} .product-list > div + div, .product-list > section + div {.......} .product-grid > div, .product-grid > section {.......} #column-left + #column-right + #content .product-grid > div, #column-left + #column-right + #content .product-grid > section {.......}  
      DEMO
      Пример категории, с баннером среди товаров, баннерами среди категорий, а так же слайдшоу вверху
      Панель управления
      Логин/пароль: demo/demo
       
      ОПИСАНИЕ БУДЕТ ДОПОЛНЕНО
       
    • By Bn174uk
      750.00 руб
      Скачать/Купить дополнение


      Конструктор подкатегорий (подборки подкатегорий)
      Модуль позволяет выводить "свои подкатегории" на странице категорий взамен стандартным подкатегориям в виде разбивки на подборки подкатегорий.
      Так же можно создавать свои подборки на странице производителя, посадочных страниц OCFilter-а
       
      Для получения актуальной версии модуля пишите на почту serfbots@gmail.com

      Возможности модуля:
      1) Для каждой категории/производителя/посадочной станицы(OCFilter) можно создать неограниченное количество подборок;
      2) Для каждой подборки можно задать свое название + при желании можно вставить эмодзи;
      3) Для каждой категории подборки можно указать: название(так же поддерживается эмодзи), ссылку на категорию или производителя или указать произвольную ссылку (например на посадочную страницу);
      4) Возможность задавать порядок сортировки подборок;
      5) Название подборки, название подкатегории, произвольная ссылка поддерживают мультиязычность;

      DEMO по запросу в ЛС или на почту пришлю ссылки на реальные магазины, где уже используется данный модуль.

      Инструкция по установке:
      Разархивируйте архив; Выберите нужную версию модуля в зависимости от Вашей версии opencart; Для OC 2.x: Установите модуль через стандартный менеджер дополнений; Для OC 3.x: Залейте содержимое архива папки upload на сервер; Для OC 3.x: Перейдите в настройки "Группы пользователей" выберите нужную группу и поставьте галочки в "Разрешён просмотр" и "Разрешено внесение изменений" возле art_custom_category Обновите кеш OCMOD;  
      Инструкция по добавлению подборок:
      Перейди в "Каталог->Конструктор подкатегорий"; Нажмите на кнопку добавить (синий крестик); Поля: "Название" - данное поле нигде на сайте не выводится, т.е. оно служит для того, чтобы Вам было понятно какая именно это подборка. "Название подборки" - это название подборки, которое выводится в категории; "Категория/Производитель/Посадочная страница (OCFiter)" - указываете к какой странице относится данная подборка, можно относиться ко всем; Таблица: "Название" - название подкатегории; "Категория" - указываете категорию или оставляет пустым, если будет использоваться производителя/ссылку; "Производитель" - указываете производителя или оставляет пустым, если будет использоваться категорию/ссылку; "Ссылка" - указываете любую ссылку, например посадочная страница, производитель, любая другая категория и т.п.; "Окно" - открывать ссылку в новом окне;  
      В планах:
      Добавить поддержку других версия OC; Добавить возможность выводить такие же подборки на страницах производителя; Добавить поддержку мультимагазина; Добавить возможность выводить свои подборки для посадочных страних для OCFilter; Добавить возможность выбора как открывать подкатегорию;
      Минимальные системные требования:
      PHP 5.3 или выше;  
      Техническая поддержка:
      Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      Лицензия:
      Каждая копия модуля действует на 1 домен и его поддомен. 
      Поэтому если хотите установить модуль еще на один домен, Вы должны приобрести еще одну копию модуля.

      По всем вопросам и предложениям писать serfbots@gmail.com
      Добавил Bn174uk Добавлено 30.06.2020 Категория SEO, карта сайта, оптимизация Системные требования Метод активации По запросу в ЛС
      По запросу на почту Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3.0.2.4
      2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет Старая цена 1500  
    • By Bn174uk
      Модуль позволяет выводить "свои подкатегории" на странице категорий взамен стандартным подкатегориям в виде разбивки на подборки подкатегорий.
      Так же можно создавать свои подборки на странице производителя, посадочных страниц OCFilter-а
       
      Для получения актуальной версии модуля пишите на почту serfbots@gmail.com

      Возможности модуля:
      1) Для каждой категории/производителя/посадочной станицы(OCFilter) можно создать неограниченное количество подборок;
      2) Для каждой подборки можно задать свое название + при желании можно вставить эмодзи;
      3) Для каждой категории подборки можно указать: название(так же поддерживается эмодзи), ссылку на категорию или производителя или указать произвольную ссылку (например на посадочную страницу);
      4) Возможность задавать порядок сортировки подборок;
      5) Название подборки, название подкатегории, произвольная ссылка поддерживают мультиязычность;

      DEMO по запросу в ЛС или на почту пришлю ссылки на реальные магазины, где уже используется данный модуль.

      Инструкция по установке:
      Разархивируйте архив; Выберите нужную версию модуля в зависимости от Вашей версии opencart; Для OC 2.x: Установите модуль через стандартный менеджер дополнений; Для OC 3.x: Залейте содержимое архива папки upload на сервер; Для OC 3.x: Перейдите в настройки "Группы пользователей" выберите нужную группу и поставьте галочки в "Разрешён просмотр" и "Разрешено внесение изменений" возле art_custom_category Обновите кеш OCMOD;  
      Инструкция по добавлению подборок:
      Перейди в "Каталог->Конструктор подкатегорий"; Нажмите на кнопку добавить (синий крестик); Поля: "Название" - данное поле нигде на сайте не выводится, т.е. оно служит для того, чтобы Вам было понятно какая именно это подборка. "Название подборки" - это название подборки, которое выводится в категории; "Категория/Производитель/Посадочная страница (OCFiter)" - указываете к какой странице относится данная подборка, можно относиться ко всем; Таблица: "Название" - название подкатегории; "Категория" - указываете категорию или оставляет пустым, если будет использоваться производителя/ссылку; "Производитель" - указываете производителя или оставляет пустым, если будет использоваться категорию/ссылку; "Ссылка" - указываете любую ссылку, например посадочная страница, производитель, любая другая категория и т.п.; "Окно" - открывать ссылку в новом окне;  
      В планах:
      Добавить поддержку других версия OC; Добавить возможность выводить такие же подборки на страницах производителя; Добавить поддержку мультимагазина; Добавить возможность выводить свои подборки для посадочных страних для OCFilter; Добавить возможность выбора как открывать подкатегорию;
      Минимальные системные требования:
      PHP 5.3 или выше;  
      Техническая поддержка:
      Техническая поддержка осуществляется всем пользователям, легально купившим модуль на оф.сайтах либо у самого автора.

      Лицензия:
      Каждая копия модуля действует на 1 домен и его поддомен. 
      Поэтому если хотите установить модуль еще на один домен, Вы должны приобрести еще одну копию модуля.

      По всем вопросам и предложениям писать serfbots@gmail.com
    • By darlin
      Вывожу товар в Категория -> Подкатегория -> Товар
      но url товара: https://site.com/категория/товар , а
      нужно: https://site.com/категория/подкатегория/товар 
      как это можно сделать?
      использую opencart pro 2.3 с дефолтным шаблоном
  • 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.