Использование хуков в 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/
Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.