Доставка PickPoint

Доставка PickPoint
Бесплатно
От 100 до 500 установок.
Установить модуль вы можете через раздел «Магазин приложений» в центре администрирования HostCMS.

Сеть PickPoint насчитывает более 11 000 постаматов и пунктов выдачи в более чем 710 городах и населенных пунктах России.

Особенности установки:

1. Перед установкой модуля убедитесь в том, что в коде настроек типовой динамической страницы корзины присутствует строка:

Shop_Delivery_Handler::checkBeforeContent ($oShop);

В случае отсутствия добавьте её после:

$oShop = Core_Entity::factory ('Shop', Core_Array::get (Core_Page::instance ()->libParams, 'shopId'));

2. В коде типовой динамической страницы корзины замените блок:

// Форма оплаты
case 3:
    $Shop_Payment_System_Controller_Show = new Shop_Payment_System_Controller_Show($oShop);

    $shop_delivery_condition_id = strval(Core_Array::getPost('shop_delivery_condition_id', 0));

    if (is_numeric($shop_delivery_condition_id))
    {
        $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = intval($shop_delivery_condition_id);

        $oShop_Delivery_Condition = Core_Entity::factory('Shop_Delivery_Condition', $_SESSION['hostcmsOrder']['shop_delivery_condition_id']);
        $_SESSION['hostcmsOrder']['shop_delivery_id'] = $oShop_Delivery_Condition->shop_delivery_id;
    }
    else
    {
        $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = 0;

        // в shop_delivery_condition_id тогда "10-123#", ID элемента массива в сессии, в котором
        // хранится стоимость доставки, налог, название специфичного условия доставки
        list($shopDeliveryInSession) = explode('#', $shop_delivery_condition_id);

        if (isset($_SESSION['hostcmsOrder']['deliveries'][$shopDeliveryInSession]))
        {
            $aTmp = $_SESSION['hostcmsOrder']['deliveries'][$shopDeliveryInSession];

            $_SESSION['hostcmsOrder']['shop_delivery_id'] = $aTmp['shop_delivery_id'];
            $_SESSION['hostcmsOrder']['shop_delivery_price'] = $aTmp['price'];
            $_SESSION['hostcmsOrder']['shop_delivery_rate'] = $aTmp['rate'];
            $_SESSION['hostcmsOrder']['shop_delivery_name'] = $aTmp['name'];
        }
    }

    $Shop_Payment_System_Controller_Show
        ->shop_delivery_id(Core_Array::get($_SESSION['hostcmsOrder'], 'shop_delivery_id'))
        ->xsl(
            Core_Entity::factory('Xsl')->getByName(
                Core_Array::get(Core_Page::instance()->libParams, 'paymentSystemXsl')
            )
        )
        ->show();
break;

На:

// Форма оплаты
case 3:
    $Shop_Payment_System_Controller_Show = new Shop_Payment_System_Controller_Show($oShop);

    $shop_delivery_condition_id = strval(Core_Array::getPost('shop_delivery_condition_id', 0));

    if (is_numeric($shop_delivery_condition_id))
    {
        $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = intval($shop_delivery_condition_id);

        $oShop_Delivery_Condition = Core_Entity::factory('Shop_Delivery_Condition', $_SESSION['hostcmsOrder']['shop_delivery_condition_id']);
        $_SESSION['hostcmsOrder']['shop_delivery_id'] = $oShop_Delivery_Condition->shop_delivery_id;
    }
    else
    {
        $_SESSION['hostcmsOrder']['shop_delivery_condition_id'] = 0;

        // в shop_delivery_condition_id тогда "10-123#", ID элемента массива в сессии, в котором
        // хранится стоимость доставки, налог, название специфичного условия доставки
        list($shopDeliveryInSession) = explode('#', $shop_delivery_condition_id);

        list($shop_delivery_id, $position) = explode('-', $shopDeliveryInSession);

        $oShop_Delivery = $oShop->Shop_Deliveries->getById($shop_delivery_id);

        if (!is_null($oShop_Delivery))
        {
            $oShop_Delivery_Handler = Shop_Delivery_Handler::factory($oShop_Delivery);
            $oShop_Delivery_Handler->process($position);
        }
    }

    $Shop_Payment_System_Controller_Show
        ->shop_delivery_id(Core_Array::get($_SESSION['hostcmsOrder'], 'shop_delivery_id'))
        ->xsl(
            Core_Entity::factory('Xsl')->getByName(
                Core_Array::get(Core_Page::instance()->libParams, 'paymentSystemXsl')
            )
        )
        ->show();
break;

Информация о разработчике:

  • Разработчик: Hostmake LLC
  • Вопросы по модулю: support@hostcms.ru
  • Поддержка: support@hostcms.ru

Версии модуля

Версия Дата Описание Версия от Версия до
1.0 20.04.2017 6.7.1
Похожие