Праздничное настроение с HostCMS!
Дарим скидки до 20% при приобретении лицензий
и скидки на продление периода поддержки*

Выдано 119410 лицензий

Вывод товаров по модификациям

Вывод товаров по модификациям
#
newud
Мне нужно сделать вывод товаров только, если есть у него модификации с не нулевой ценой и наличием на складе. Боюсь я такой сложный запрос не напишу.
С уважением, Команда Isv7! тел-1: +38098-5520233 Viber тел-2: +38050-5765376 skyp: newudx icq: 460923525 email: info@isv7.com http://www.isv7.com

ПрофильЦитировать выделенное05.02.2016 15:58:26 • Сообщений: 33
Re: Вывод товаров по модификациям
#
newud
Ну где же Вы, гуру. Или, получается,  никто с этим не сталкивался?
С уважением, Команда Isv7! тел-1: +38098-5520233 Viber тел-2: +38050-5765376 skyp: newudx icq: 460923525 email: info@isv7.com http://www.isv7.com

ПрофильЦитировать выделенное05.02.2016 17:47:52 • Сообщений: 33
Re: Вывод товаров по модификациям
#
hostcms
Модератор
Просто проверять остатки на складе:
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id')
->having('SUM(shop_warehouse_items.count)', '>', 0)
->groupBy('shop_items.id');

ПрофильЦитировать выделенное05.02.2016 21:00:29 • Сообщений: 16062
Re: Вывод товаров по модификациям
#
newud
Добавил это в код типовой динамической страницы. Теперь выводятся только товары, которые есть на складе.
А как теперь сделать, чтобы выводился товар даже если его нет в наличии, но у которого есть модификации и эти модификации есть на складе?
С уважением, Команда Isv7! тел-1: +38098-5520233 Viber тел-2: +38050-5765376 skyp: newudx icq: 460923525 email: info@isv7.com http://www.isv7.com

ПрофильЦитировать выделенное06.02.2016 18:45:50 • Сообщений: 33
Re: Вывод товаров по модификациям
#
hostcms
Модератор
Пожалуйста:
$Shop_Controller_Show
   ->shopItems()
   ->queryBuilder()
   // Модификации и остатки на складах модификаций
   ->leftJoin(array('shop_items', 'modifications'), 'modifications.modification_id', '=', 'shop_items.id')
   ->leftJoin(array('shop_warehouse_items', 'modifications_shop_warehouse_items'), 'modifications_shop_warehouse_items.shop_item_id', '=', 'modifications.id')
   // Остатки на складах основного отвара
   ->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id')
   // Есть остатки на основном складе
   ->having('SUM(shop_warehouse_items.count)', '>', 0)
   // Или
   ->setOr()
   // Есть остатки на складах у модификаций
   ->having('SUM(modifications_shop_warehouse_items.count)', '>', 0)
   ->groupBy('shop_items.id');

ПрофильЦитировать выделенное08.02.2016 11:46:07 • Сообщений: 16062
Re: Вывод товаров по модификациям
#
PakoGonsalezZ
Здравствуйте, решение работает, но вот одна проблема.
На сайте необходимо выводить как и основные товары, так и архив товаров.
Вывожу их разными контроллерами, в списке товаров все нормально, но при переходе в товар, которого нет в наличии, карточка не отображается.
Можно ли как то в xsl ограничить выборку, если товар или его модификация есть на одном из складов, то выводить его, причем тут такая проблема - что если товара нет а модификация есть, она должна выводится, не увидел в XML у товаров информацию о наличии на разных складах, подскажите как это можно реализовать

ПрофильЦитировать выделенное13.04.2018 16:29:10 • Сообщений: 156
Re: Вывод товаров по модификациям
#
hostcms
Модератор
У контроллера Shop_Controller_Show есть опция
* - warehousesItems(TRUE|FALSE) выводить остаток на каждом складе для товара, по умолчанию FALSE

ПрофильЦитировать выделенное16.04.2018 09:20:32 • Сообщений: 16062
Re: Вывод товаров по модификациям
#
PakoGonsalezZ
При включении этой опции, повторюсь карточка товаров пустая, в xml не попадают данные о товаре которого нет в наличии

ПрофильЦитировать выделенное16.04.2018 12:55:13 • Сообщений: 156
Re: Вывод товаров по модификациям
#
hostcms
Модератор
PakoGonsalezZ,
эта опция выводит доп. информацию по остаткам на складах, она не влияет на выборку товаров.

ПрофильЦитировать выделенное16.04.2018 12:56:25 • Сообщений: 16062
Re: Вывод товаров по модификациям
#
PakoGonsalezZ
ДА, прочитал бегло, спутал опции, спасибо за помощь

ПрофильЦитировать выделенное17.04.2018 00:07:58 • Сообщений: 156
Авторизация