По умолчанию 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, чтобы получилось как на скриншоте (кавычки поменяйте на прямые):
3Сохраняем файл category.php и перезагружаем страницу родительской категории Opencart.
У меня этот способ прекрасно работает на всех клиентских магазинах под Opencart (OcStore 1.5.x.x).
Кстати, можно его еще более упросить. Если у вас в магазине стоит Vqmod (в 99% магазинов на Opencart 1.5 он установлен), то просто скачайте вот этот XML-файл и закиньте в папку /vqmod/xml
В этом случае основные программные файлы системы вообще не затрагиваются, а результат достигается с помощью модификации.
Прямо сейчас вы можете получить доступ к этому контенту для подписчиков. Достаточно ввести свой правильный емейл, и после подтверждения вам откроется полное содержимое этой страницы.
Получить бесплатно
Если на ваш емейл после подписки не приходит письмо для подтверждения уведомления (такое бывает иногда в зависимости от типа вашего ящика), то есть такие варианты:
- Подождите минут 5-10.
- Попробуйте другую почтовую сеть, лучше всего работают mail.yandex.ru или gmail.com.
- Проверьте папку СПАМ - может нужное письмо именно там. После чего обязательно отметьте его и кликните - НЕ спам.
- Если ничего не получилось, напишите мне в Контакты и укажите ссылку на страницу, версию браузера и примерный порядок действий.
Я не автор данного решения, поэтому не берусь ответить на вопросы, вроде: "А у меня не заработало, в чем причина?"
Сам использую весь этот код «как есть», протестировал его в своей панели управления - всё работает!
Поэтому если у вас по каким-то причинам не заработало данное решение, то вам остается попытаться разобраться самостоятельно или найти программиста, который установит его именно на ваш шаблон.
Советы
- Проверьте версию CMS с той, что я привожу в статье, проверьте правильность всех путей, сделайте все внимательно, не торопясь.
- Если сами не можете справиться с решением, то гуглите дальше или же найдите свободного программиста. Самые выгодные цены на фриланс-биржах. Но обязательно читайте как правильно искать программиста на бирже, чтобы не попасть на деньги.
- Также можно заказать готовый магазин Opencart - здесь уже всё установлено и гарантированно работает.
Работает Version 3.0.3.2 (rs.2) - изменила код в category.php
Очень помогло, сработало на OcStore 1.5.5
Спасибо помогло) OpenCart 3.0.2 Правда не сразу заработало, пришлось почистить кэш, модификаторы несколько раз обновлять и пр. Ещё если вдруг кому не помогло, можно в таблице импорта товара во всех столбиках categories добавить id родительского товара. Получится то же самое
Спасибо, вы очень помогли!
Подскажите пожалуйста, а как вывести фильтра в корневую категорию?
Здравствуйте!
Такая проблема. При создании карточек товаров , все товары отображаются и в родительской и подкатегории товара, это очень для меня не удобно поскольку получается оооочень большой список товаров. Что сделать чтобы в родительской отображались не все товары, а допустим 2-4 товара.
Здравствуйте.
Вам как раз нужно использовать текущие настройки Opencart - в этом случае вы сами выбираете к каким рубрикам подвязать ваши товары. И в итоге вы можете вывести в подкатегории - все товары, а в родительской категории - только некоторые. Никакие изменения при этом в код Opencart вносить не нужно. Посмотрите видео https://www.youtube.com/watch?v=K0Meq1Ykocw
Спасибо! Очень помог!
Сильно раздражало, что не отображает по умолчанию..
На OC 3.0.2 работает, после изменений обязательно обновить модификаторы
Всем привет!
подскажите плз как можно реализовать такое на opencart 2.3.0.2 как на этом примере http://headblade.zone/market/ ?
т.е. выглядеть так и должно :
категория1
товар товар товар
категория2
товар товар товар
товар товар товар
мне кажется, что без серьезной переверстки и переделки шаблона не обойтись, тут двумя строчками кода отделаться не получится )
поищите на бирже программиста (http://moytop.com/optimizaciya-raboty/otnoshenie/kak-pravilno-najti-i-nanyat-frilansera), вам сделают под ключ, опенкарт не дорогая система, средняя стоимость доработок 2-3 тыс. росс. рублей.
Под 2.0.1 работает?
Очень помогло, спасибо!
Вывод товаров в родительской категории Работает )) Opencart 2.2.0.0
Надо вывести каталог подкатегорий в карточке товара что-бы посетитель не бегал туда и обратно?
Вот вопрос так вопрос!!!
Та же проблема. На соц сети нажал, но ссылки на xml-файл так и не обнаружил. Можно на мыло скинуть?
Ссылка появляется автоматически после клика на значок соцсети.
Не всегда соцсети срабатывают — бывают глючат сами API соцсетей, которые постоянно развиваются, бывают перегружены запросами и т.п.
В этом случае можно попробовать кликнуть на другую соцсеть (замечено, что лучше всего работает Google+).
Или вы можете банально оставить страницу в браузере, то есть подождать (там таймер считает обратное время), когда оно закончится, вместо замка появится прямая ссылка на скачивание.
Если и после этого не появилась, то оставьте свое сообщение (обязательно со скрином ошибки), если у меня получится, я скину на почту.
Здравствуйте,
не могу скачать xml файл, ссылки нету (
высылайте пожалуйста на мой ящик.
проверьте почту
Здравствуйте!
Почему нет прямой ссылки на скачивание файлу XML по теме Вывод всех товаров Opencart в родительской категории. По социальной кнопке кликнул. вы добавили меня в группу а ссылки нет. нехорошо как то получается.
Ссылка появляется автоматически после клика на значок соцсети.
Не всегда соцсети срабатывают - бывают глючат.
В этом случае можно попробовать кликнуть на другую соцсеть (замечено, что лучше всего работает Google+).
Или вы можете просто подождать (там таймер считает обратное время), когда оно закончится, вместо замка появится прямая ссылка на скачивание.
Если и после этого не появилась, оставьте свое сообщение с емейлом , я скину на почту.
Фильтры не отображаются даже если прописать эту строку
Работает в 2.0.3.1 Спасибо, очень удобно, гораздо меньше времени нужно тратить.
Сейчас все заработало и скачалось без проблем.
Установил плагин, все отлично отображается теперь в магазине. Спасибо)
'filter_sub_category' => true уже есть в файле, но товары не отображаются.
XML скачать не получается - иконок соц сетей нет, только ссылка на сам плагин.
Возможно, у вас стоит какой-нибудь adblock или браузер не поддерживает плагин, пришлите вашу почту, я скину линк. Если у вас Opencart 1.5 и Vqmod то должно помочь. Ну а если нет, то ничего ведь не теряете.
А как сделать вывод по под категориям в категориях, а не весь товар в общую кучу
Немного не понял. Если в шаблоне предусмотрен вывод самих подкатегорий внутри категорий - то в них и будут лежать нужные товары. Скиньте линк на пример, если вы что-то другое имеете ввиду.