Форум русской поддержки Joomla!® CMS
05.12.2016, 08:34:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывод всех категорий, где есть товары производителя

 (Прочитано 196 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zemelea
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 45


« : 28.11.2015, 04:04:45 »

Здравствуйте. Ситуация следующая: необходимо вывести (с соблюдением иерархии) все категории, а которых есть товары определенного производителя.

Начал так:
Код:
SELECT prod.`name_ru-RU`,prod.product_id, ptcat.category_id,cats.category_parent_id, cats.`name_ru-RU` FROM `anh6m_jshopping_products` prod
    LEFT JOIN `anh6m_jshopping_products_to_categories` ptcat ON prod.product_id = ptcat.product_id
    LEFT JOIN `anh6m_jshopping_categories` cats ON cats.category_id = ptcat.category_id
    WHERE `product_manufacturer_id`='1' AND prod.product_publish = '1' AND cats.category_publish='1'
    GROUP BY cats.category_id

В итоге получил все категории, где есть товары данного производителя, а так же родительский id для каждой категории:


Дальше не вдупляю как их вывести с соблюдением иерархии, при том что некоторые товары могут находиться в сестринских категориях, поэтому некоторые родители не должны выводиться по нескольку раз... При этом уровень вложенности категории может быть и 3, и 4, и даже 5, а выводить надо начиная с главного родителя.
« Последнее редактирование: 28.11.2015, 04:13:21 от zemelea » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet