Друзья, всем привет! Появилась задачка, над которой ломаю мозг уже второй день и все никак( Как можно вывести в модуль, например "Рекомендуемое" по одному самому дешевому товару из каждой категории Так как категорий сотни, а товаров тысячи. Вариант "вручную" отметается сразу)
Лучше конечно создать отдельный модуль, но можно конечно написать запрос для модуля рекомендуемых. По другому наверно никак.
Смысл в том, что это разовая задачка и писать под это модуль кажется избыточным, а вот с запросом так и не смог, даже gpt не справился) Поэтому и обратился сюда
Ну давайте решим вместе тогда Что уже сделали? 1. Запрос который получит самый дешевый товар из указанной категории. Код: SELECT p.product_id, p.price FROM oc_product p LEFT JOIN oc_product_to_category p2c ON p.product_id = p2c.product_id WHERE p2c.category_id = 20 ORDER BY p.price ASC LIMIT 1 2. Затем запрос который получит просто все id категорий. 3. Потом в цикле массива id категорий используем запрос из пункта 1. 4. В итоге получим данные id товаров с самой низкой ценой из каждой категории. 5. Ну и та также в цикле получаем по id информацию о товаре и выводим его, как делают это другие модули. т.е все что выше, нужно вставить вместо PHP: $products = array_slice($setting['product'], 0, (int)$setting['limit']); При этом не забыть создать модельку для запросов и подключить ее в модуле рекомендуемых.
Довольно странно это делать через Рекомендуемые. С учётом того, что это единственный модуль , который как раз руками и наполняется. А вроде ТС противник этого Если конечно этот модуль не должен выводиться на главной например, а в категориях то можно прикрутить тот же модуль самого опенкарт Новинки (Последние). Ravil уже всё по сути расписал. А так как Новинки это и есть по сути весь товар магазина по мере его добавления , остается сделать нужную выборку . Добавить в модуль проверку на категорию в которой находится и там же выборку по минимальной цене дописать. Как то так...