skip to content
KAD::Wiki
User Tools
Log In
Site Tools
Search
Tools
Show page
Old revisions
Log In
>
You are here:
Приветствие
»
Для сотрудников
»
Разработка
»
HostCMS
»
Статьи (по модулям)
»
Интернет-магазин
»
Корзина
»
Подключение решений
private:koding:hostcms:modules:shop:cart:require_solution
Media Files
====== Подключение решений ====== Используется для подключения следующих решений: * [[private:koding:hostcms:modules:shop:cart:price_observer|Подмена цен]] * [[private:market:programmer:custom_order|Произвольный заказ]] * [[private:koding:hostcms:modules:shop:cart:changesize|Замена размера товаров прямо в корзине]] <code php><?php defined('HOSTCMS') || exit('HostCMS: access denied.'); /** * * Версия для HostCMS v.6x * @author KAD Systems * * Копирование и использование файлов модуля * в коммерческих целях ЗАПРЕЩЕНО * * */ class Kad_Shop_Cart { /** * The singleton instances. * @var mixed */ static public $instance = NULL; /** * Register an existing instance as a singleton. * @return object */ static public function instance() { if (is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; } public function __construct() { } /* * Решение по смене модификации в зависимости от доп. свойства * Пример использования - смена размера товара прямо в корзине * Добавляет в xml корзины информацию о списке доступных значений доп. свойств у модификаций * Производит смену модификации в зависимости от выбора */ static function changeSizeSolution($Shop_Cart_Controller_Show = Shop_Cart_Controller_Show, $property_id) { $oShop = $Shop_Cart_Controller_Show->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; } }</code>
Save
Preview
Cancel
Edit summary
private/koding/hostcms/modules/shop/cart/require_solution.txt
· Last modified: 20.11.19 в 11:59 by
Артем Куц
Page Tools
Show page
Old revisions
Export to PDF
Rename Page
Back to top