Использование хуков в REST API

Хуки позволяют получить дополнительную информацию об объектах, использовать ограничения и т.п.

Вывод информации об остатке товара на конкретном складе

Создадим data-атрибут вида dataWarehouse{ID-склада}, для этого напишем обработчик события onCallwarehouseApi модели магазина

Core_Event::attach('shop.onCallwarehouseApi', array('My_Shop_Observer', 'onCallwarehouseApi'));

class My_Shop_Observer
{
	static public function onCallwarehouseApi($object, $args)
	{
		// ID склада, информацию об остатке на котором добавлять
		$warehouse_id = 1;

		$oShop_Items = $object->Shop_Items;
		$oShop_Items
			->queryBuilder()
			->select('shop_items.*', array('SUM(shop_warehouse_items.count)', 'dataWarehouse' . $warehouse_id))
			->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'shop_items.id', array(
					array('AND' => array('shop_warehouse_items.shop_warehouse_id', '=', $warehouse_id))
				)
			)
			->groupBy('shop_items.id');

		return $oShop_Items;
	}
}

Вызов warehouseApi для магазина с номером 3 делаем следующим образом: GET /api/v1.0/shops/3/warehouseApi/

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.