====== Отгрузка отправлений ====== Интернет-магазины работают со службами доставки, и для ускорения обмена данными между ними службы доставки предоставляют собственные API, которые позволяют создавать отправления на основе заказов, сделанных покупателями в интернет-магазинах. Для интеграции службы доставки с интернет-магазином на HostCMS разработан класс и его реализации для некоторых служб доставки, файлы решения доступны по ссылке ниже: ** {{ :private:koding:hostcms:modules:shop:order:dispatcher.tar.gz |Файлы решения}}**, на данный момент реализована интеграция с PickPoint и Hermes. ===== Описание работы ===== При оплате пользователем заказ будет отправляться в выбранную службу доставки. ===== Установка ===== - Необходимо скачать файлы решения и загрузить их в директорию /modules/shop/order. - Подключить наблюдатель, разместив в bootstrap.php следующий код:Shop_Order_Observer_Dispatch::attach(); - Настроить наблюдатель **Shop_Order_Observer_Dispatch**, указав соответствия между способом доставки HostCMS и службой доставки, например, так:switch ($oShopOrder->shop_delivery_id) { // Pickpoint case 6: Shop_Order_Dispatcher::factory('pickpoint') ->debug(self::$_debug) ->dispatch($oClonedShopOrder); break; // Hermes case 11: Shop_Order_Dispatcher::factory('hermes') ->debug(self::$_debug) ->dispatch($oClonedShopOrder); break; } ===== Структура файлов решения ====== Решение имеет правильную структуру с базовым классом, реализациями под каждую службу доставки и конфигурациями, при необходимости поддержки какой-то другой службы доставки нужно будет написать новую реализацию для работы с конкретным API, уже имеющиеся службы доставки это не затронит. /dispatcher/ // Реализации для различных служб доставки ----/config/ --------config.php // Конфигурации для служб доставки ----hermes.php ----pickpoint.php /observer/ // Наблюдатели для заказа dispatcher.php // Основной класс Страницу создал Максим Засорин 31.07.17 в 11:59