Передача в xsl подсчитанного количества товара в подгруппе

#
Передача в xsl подсчитанного количества товара в подгруппе
Доброго всем дня!
Возникла необходимость вывод в каталог товара если его нет в наличии.
для этого в ТДС магазина с помощью ТП добавили условие:

$Shop_Controller_Show
->shopItems()
->queryBuilder()
->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id'
->groupBy('shop_items.id'
->having(Core_QueryBuilder::expression('SUM(shop_warehouse_items.count)', '>', 0);

Соответственно оно скрыло товар если его нет наличии, но этот товар все равно учитывается и теперь некорректно отображается в количестве товара в группе.
сейчас нужно передать подсчитанное этим условием количество товара в xsl.
Как это можно сделать?
#
Re: Передача в xsl подсчитанного количества товара в подгруппе
Вам нужно писать хук на onBeforeGetXml для shop_group:  http://www.hostcms.ru/documentation/modules/core/events/

Пример кода в хуке:
$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
   ->select(array(Core_QueryBuilder::expression('COUNT(*)'), 'count'))
   ->from('shop_items')
   ->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id')
   ->leftJoin('shop_groups', 'shop_groups.shop_item_id', '=', 'shop_items.id')
   ->where(Core_QueryBuilder::expression('SUM(shop_warehouse_items.count)'), '>', 0)
   ->where('shop_items.active', '=', 1)
   ->where('shop_items.deleted', '=', 0)   
   ->where('shop_groups.id', '=', 456) //ID группы   
   ->where('shop_items.shop_id', '=', 123) //ID магазина   
   ;

$row = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();


В $row[0]['count'] будет число, которое добавите через addXmlTag()
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Передача в xsl подсчитанного количества товара в подгруппе
К сожалению у меня не хватает знаний в этом, может кто нибудь подсказать более конкретно?
#
Re: Передача в xsl подсчитанного количества товара в подгруппе
Это,практически, готовое решение. Если у вас не хватает навыков для его внедрения,Вы можете заказать индивидуальную работу у нас.
«Не выходи из комнаты, не совершай ошибку…»
Авторизация