Блог Сергея Арсентьева

Создание и продвижение сайтов с нуля.
Только реальные способы заработка в сети.
Проверено на личном опыте.

Вывод всех товаров Opencart 1.5 в родительской категории

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

вывод-в-родительскую-категорию-всех-товаров-opencart

Это удобно так как при добавлении товара в Opencart, которое мы рассмотрели ранее, не обязательно выбирать все-все подкатегории, где должен показываться товар. Достаточно выбрать одну самую первую (глубокую) подкатегорию, а в остальных - товары выведутся автоматически.

Пример

Допустим, у вас есть категория "Компьютеры", а внутри есть подкатегории "Ноутбуки", "Нетбуки" и "Планшеты". И вы хотите, чтобы товары из подкатегорий показывались в основной категории все разом.

Чтобы этого достичь, при традиционном способе вывода товаров, который применяется в Opencart, приходится в админке привязывать товар сразу к нескольким категориям. Вот так:

Отмечаем все товары в категории

Но если товаров много, то вручную это утомительно, а пользоваться Экспортом/Импортом или специальными модулями массового изменения товаров, сложно.

Гораздо проще задать для Опенкарта явное автоматическое выведение товаров из подкатегорий в родительские категории.

Вот как это делается:

1Открываем программные файлы Opencart по FTP по адресу: /catalog/controller/product/category.php (читать: "Как подключиться по FTP к сайту").

2Находим строки:

$data = array(
'filter_category_id' => $category_id,
'filter_filter' => $filter,
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $limit,
'limit' => $limit
);
.

и добавляем еще один параметр: 'filter_sub_category' => true, чтобы получилось как на скриншоте (кавычки поменяйте на прямые):

Выводим товары из подкатегорий Opencart

3Сохраняем файл category.php и перезагружаем страницу родительской категории Opencart.

У меня этот способ прекрасно работает на всех клиентских магазинах под Opencart (OcStore 1.5.x.x).

Кстати, можно его еще более упросить. Если у вас в магазине стоит Vqmod (в 99% магазинов на Opencart он установлен), то просто скачайте вот этот XML-файл и закиньте в папку /vqmod/xml

В этом случае основные программные файлы системы вообще не затрагиваются, а результат достигается с помощью модификации.

Бонус!

Прямо сейчас вы можете получить доступ к файлу XML - это просто и бесплатно. Достаточно кликнуть на любой значок соцсети, в которой вы, разумеется, имеете аккаунт, и вам откроется прямая ссылка на скачивание.

Важно!

Я не автор данного решения, поэтому не берусь ответить на вопросы, вроде: "А у меня не заработало, в чем причина?"

Сам использую весь этот код «как есть», протестировал его в своей панели управления - всё работает!

Поэтому если у вас по каким-то причинам не заработало данное решение, то вам остается попытаться разобраться самостоятельно или найти программиста, который установит его именно на ваш шаблон.

Советы

  • Проверьте версию CMS с той, что я привожу в статье, проверьте правильность всех путей, сделайте все внимательно, не торопясь.
  • Если сами не можете справиться с решением, то гуглите дальше или же найдите свободного программиста. Самые выгодные цены на фриланс-биржах. Но обязательно читайте как правильно искать программиста на бирже, чтобы не попасть на деньги.
  • Также можно заказать готовый магазин Opencart - здесь уже всё установлено и гарантированно работает.
Автор блога
“Измени свои привычки, и изменится твоя жизнь..”
Специалист по созданию и продвижению сайтов (SEO и реклама), фрилансер с многолетним опытом.
Статистика блога
  • Всего материалов на сайте: 179
  • Активных комментариев: 2 474
  • Работает онлайн: 5 лет
  • Читателей за это время: 1 401 437

Было интересно - жми на звезды:



Комментарии на блоге
Комментариев | (25)
  • Антон

    А как сделать вывод по под категориям в категориях, а не весь товар в общую кучу

    Комментировать
    • Сергей Арсентьев

      Немного не понял. Если в шаблоне предусмотрен вывод самих подкатегорий внутри категорий - то в них и будут лежать нужные товары. Скиньте линк на пример, если вы что-то другое имеете ввиду.

      Комментировать
  • Александр
    Александр

    'filter_sub_category' => true уже есть в файле, но товары не отображаются.
    XML скачать не получается - иконок соц сетей нет, только ссылка на сам плагин.

    Комментировать
    • Сергей Арсентьев

      Возможно, у вас стоит какой-нибудь adblock или браузер не поддерживает плагин, пришлите вашу почту, я скину линк. Если у вас Opencart 1.5 и Vqmod то должно помочь. Ну а если нет, то ничего ведь не теряете.

      Комментировать
  • Александр
    Александр

    Сейчас все заработало и скачалось без проблем.
    Установил плагин, все отлично отображается теперь в магазине. Спасибо)

    Комментировать
  • Игорь
    Игорь

    Работает в 2.0.3.1 Спасибо, очень удобно, гораздо меньше времени нужно тратить.

    Комментировать
  • Петр

    Фильтры не отображаются даже если прописать эту строку

    Комментировать
  • Николай
    Николай

    Здравствуйте!
    Почему нет прямой ссылки на скачивание файлу XML по теме Вывод всех товаров Opencart в родительской категории. По социальной кнопке кликнул. вы добавили меня в группу а ссылки нет. нехорошо как то получается. :no:

    Комментировать
    • Сергей Арсентьев

      Ссылка появляется автоматически после клика на значок соцсети.
      Не всегда соцсети срабатывают - бывают глючат.
      В этом случае можно попробовать кликнуть на другую соцсеть (замечено, что лучше всего работает Google+).

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

      Если и после этого не появилась, оставьте свое сообщение с емейлом , я скину на почту.

      Комментировать
  • Edi
    Edi

    Здравствуйте,
    не могу скачать xml файл, ссылки нету (
    высылайте пожалуйста на мой ящик.

    Комментировать
  • Денис
    Денис

    Та же проблема. На соц сети нажал, но ссылки на xml-файл так и не обнаружил. Можно на мыло скинуть?

    Комментировать
    • Сергей Арсентьев

      Ссылка появляется автоматически после клика на значок соцсети.
      Не всегда соцсети срабатывают — бывают глючат сами API соцсетей, которые постоянно развиваются, бывают перегружены запросами и т.п.

      В этом случае можно попробовать кликнуть на другую соцсеть (замечено, что лучше всего работает Google+).

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

      Если и после этого не появилась, то оставьте свое сообщение (обязательно со скрином ошибки), если у меня получится, я скину на почту.

      Комментировать
  • Игорь

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

    Комментировать
  • Алексей
    Алексей

    Вывод товаров в родительской категории Работает )) Opencart 2.2.0.0 :yes:

    Комментировать
  • Константин
    Константин

    Очень помогло, спасибо! :yes:

    Комментировать
  • Алекс
    Алекс

    Под 2.0.1 работает?

    Комментировать
  • Сергей
    Сергей

    Всем привет!
    подскажите плз как можно реализовать такое на opencart 2.3.0.2 как на этом примере http://headblade.zone/market/ ?
    т.е. выглядеть так и должно :
    категория1
    товар товар товар

    категория2
    товар товар товар
    товар товар товар

    Комментировать
    • Сергей Арсентьев

      мне кажется, что без серьезной переверстки и переделки шаблона не обойтись, тут двумя строчками кода отделаться не получится )

      поищите на бирже программиста (https://moytop.com/optimizaciya-raboty/otnoshenie/kak-pravilno-najti-i-nanyat-frilansera), вам сделают под ключ, опенкарт не дорогая система, средняя стоимость доработок 2-3 тыс. росс. рублей.

      Комментировать
  • Роман
    Роман

    На OC 3.0.2 работает, после изменений обязательно обновить модификаторы

    Комментировать
  • Андрей

    Спасибо! Очень помог! :yes: :yes: :yes:
    Сильно раздражало, что не отображает по умолчанию..

    Комментировать
  • Дмитрий
    Дмитрий

    Здравствуйте!
    Такая проблема. При создании карточек товаров , все товары отображаются и в родительской и подкатегории товара, это очень для меня не удобно поскольку получается оооочень большой список товаров. Что сделать чтобы в родительской отображались не все товары, а допустим 2-4 товара.

    Комментировать
    • Сергей Арсентьев

      Здравствуйте.
      Вам как раз нужно использовать текущие настройки Opencart - в этом случае вы сами выбираете к каким рубрикам подвязать ваши товары. И в итоге вы можете вывести в подкатегории - все товары, а в родительской категории - только некоторые. Никакие изменения при этом в код Opencart вносить не нужно. Посмотрите видео https://www.youtube.com/watch?v=K0Meq1Ykocw

      Комментировать
  • Влад
    Влад

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

    Комментировать
  • Елена
    Елена

    Спасибо помогло) OpenCart 3.0.2 Правда не сразу заработало, пришлось почистить кэш, модификаторы несколько раз обновлять и пр. Ещё если вдруг кому не помогло, можно в таблице импорта товара во всех столбиках categories добавить id родительского товара. Получится то же самое

    Комментировать
Добавить свой комментарий
Подписка на бесплатные уроки
Подписаться!
Подробнее в Установки и настройки
произвольный-h1 в opencart
Добавляем в Opencart произвольный метатег Title + заголовок H1

По умолчанию в Opencart нет отдельно настраиваемого метатега Title и заголовка уровня H1. То есть туда автоматически включается название товара...

убрать-карту-google-из-opencart
Убираем карту из контактов Opencart

При установке шаблонной темы у вас в контактах почти наверняка будет болтаться карта от Google, которая показывает какое-то место в...

Закрыть