Как вывести весь товар?

#
Как вывести весь товар?
Здравствуйте,
пытаюсь делать интернет магазин.
У меня в магазине есть категории и подкатегории:
1. кухи
1.1 готовые решения
1.2 модульные рения
1.3 разное
2. спальни
2.1 столы
2.2 кровати
2.3 стулья
3 разное


Подскажите пожалуйста, как мне вывести весь товар, с категории "1.кухни"? Сама Категория "Кухни" содержит только подкатегории, а вот подкатегории содержат в себе товар.
Т.е. должен получится список товаров со всех подкатегорий:
1.1 готовые решения
1.2 модульные рения
1.3 разное


Заранее большое спасибо!
Модератор
#
Re: Как вывести весь товар?
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Как вывести весь товар?
alexander.egorov писал(а):

А если мне нужно это вызвать в макете и с каждой категории по 5 едениц товара?
#
Re: Как вывести весь товар?
Не совсем понятна ваш замечание про макет...
А если товаров у вас не много, то как правильно сослался на очень старый топик alexander.egorov, вам нужно выбрать все товары (если суммарно их там не много и у них не очень много доп.свойств) из группы Цитата:
1. кухи
и ее подгрупп.
Затем останется в XSL выбрать в каждой подгруппе не более 5 единиц товара
Это первый способ.
2-й способ (когда товаров оч. много) выполнить запрос:

SELECT shop_items.*
   FROM shop_items
      INNER JOIN (
        SELECT   shop_group_id, GROUP_CONCAT(id ORDER BY id DESC) items_in_group_ids
           FROM   shop_items
           WHERE  modification_id = 0
              AND  shortcut_id = 0
              AND  deleted = 0
              AND  active = 1
           GROUP BY shop_group_id
     ) all_items_in_group
     ON shop_items.shop_group_id = all_items_in_group.shop_group_id
        AND FIND_IN_SET(shop_items.id, items_in_group_ids) <= 5
   WHERE  modification_id = 0
      AND  shortcut_id = 0
      AND  deleted = 0
      AND  active = 1
   ORDER BY
     shop_items.shop_group_id, shop_items.id DESC;

выбрав не более 5-ти записей в каждой группе
Здесь надо смотреть на текущий и потенциальный будущий ассортимент товаров. По-хорошему, нужно провести стрессовое тестирование на максимально возможном для данного магазина количестве товаров и узнать время выполнения запроса.
Далее останется простой вывод в XSL-е
3-й способ - это модификация первого (т.е. модификация стандартного контроллера показа) - узнать все подгруппы в данной группе, а затем в цикле для каждой подгруппы выполнить обычный SELECT по id данной подгруппы и добавить найденные элементы в контроллер. Ну и в конце вывод через XSL как во 2-м случае.
Как-то так
ARTatom
Авторизация