Решил сделать вот так, по своему, ибо через onBeforeSelectCountGroupsInRecount не получилось
static public function onBeforeGetXml($object, $args)
{
$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.id', '=', 'shop_items.shop_group_id')
->having('SUM(shop_warehouse_items.count)', '>', 0)
->where('shop_items.active', '=', 1)
->where('shop_items.deleted', '=', 0)
->where('shop_groups.id', '=', $object->id)
->where('shop_items.price','>',0)
->groupBy('shop_items.id');
;
$row = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();
$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
->from('shop_groups')
->where('shop_groups.active', '=', 1)
->where('shop_groups.deleted', '=', 0)
->where('shop_groups.parent_id', '=', $object->id);
$countGroup = $oCore_QueryBuilder_Select->execute()->asAssoc()->result();
if (count($row) > 0 || count($countGroup) != 0){
$object->addXmlTag('groupIsNotNull', 1);
} else {
$object->addXmlTag('groupIsNotNull', 0);
}
}
Знаю, криво косо но мне подходит. Вопрос только в том, почему у меня у авторизированного это поле есть, а у простого пользователя его нет, тоесть я делают проверку через if когда я авторизированного все хорошо работает, только выхожу все, переменная пустая, условия не выполняются