====== Подключение решений ====== Используется для подключения следующих решений: * [[private:koding:hostcms:modules:shop:cart:price_observer|Подмена цен]] * [[private:market:programmer:custom_order|Произвольный заказ]] * [[private:koding:hostcms:modules:shop:cart:changesize|Замена размера товаров прямо в корзине]] getEntity(); $oChangeSizeController = new Kad_Cart_Changesize(); // Название select в котором производится выбор значения свойства $oChangeSizeController->input_name = 'mod'; $oChangeSizeController->checkCartItems($oShop); $Shop_Cart_Controller_Show->addEntity($oChangeSizeController->getXmlPropertyValuesCartItems($oShop, $property_id)); return true; } /* * Решение по добавлению товара в заказ с произвольно заданной ценой */ static function userPriceSolution() { Kad::attachObserver("Core_Event::attach('Shop_Item_Controller.onAfterCalculatePrice', array('Kad_Shop_Cart_Userprice_Priceobserver', 'onAfterCalculatePrice'));"); $oUserPriceController = Kad_Shop_Cart_Userprice::instance(); $oUserPriceController->collectPrice(Core_Array::getRequest('add'), Core_Array::getRequest('price')); return true; } /* * Решение по добавлению товара в заказ с произвольно заданной ценой */ static function customOrderSolution($oShop, $sPropertiesPattern = false, $exit = true) { //Kad::attachObserver("Core_Event::attach('Shop_Item_Controller.onAfterCalculatePrice', array('Kad_Shop_Cart_Userprice_Priceobserver', 'onAfterCalculatePrice'));"); if (!Core_Array::getRequest('property')) { return false; } $oCustomOrderController = new Kad_Shop_Cart_Customorder($oShop); if ($sPropertiesPattern !== false) { $oCustomOrderController ->propertiesPattern($sPropertiesPattern); } else { $oCustomOrderController ->propertiesPattern(' {property}: {value},'); } $oCustomOrderController ->execute($oShop, $exit); //$oCustomOrderController->collectPrice(Core_Array::getRequest('add'), Core_Array::getRequest('price')); return true; } }