TransWikia.com

Изменение цены при создании заказа в админке битрикс

Stack Overflow на русском Asked on November 11, 2020

Всем привет!

Пытаюсь изменить тип цены при создании заказа, использую для этого свой провайдер цен. При добавлении в корзину изменяю поле провайдера на свой.
При добавление в корзину из публичной части всё работает, а в админке нет. Но провайдер применяется, а замена цены не происходит.

В чём может быть проблема?

<?php
use BitrixMainLoader,
    BitrixMainLocalizationLoc;

Loader::includeModule('catalog');
Loader::includeModule('sale');

class CCustomCatalogProvider extends CCatalogProductProvider
{
    /**
     * @param array $products
     *
     * @return array|false
     */

    public static  function GetProductData($arParams)
    {
        return self::customGetData($arParams);
    }
    public static function OrderProduct($arParams)
    {
        return self::customGetData($arParams);
    }

private function customGetData($arParams){

        $result = parent::GetProductData($arParams);
        $arPriceFilter = array("PRODUCT_ID" => $arParams["PRODUCT_ID"], "CATALOG_GROUP_ID" => 2);
        $dbPrice = CPrice::GetList(
            array(),
            $arPriceFilter,
            false,
            false,
            array("ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY", "QUANTITY_FROM", "QUANTITY_TO", "CAN_BUY")
        );
        if ($ar_res = $dbPrice->Fetch()){
            $result['BASE_PRICE'] = $ar_res['PRICE'];
            $result['PRICE'] = $ar_res['PRICE'];
        }
        return $result;
    }

}

One Answer

При добавление товара в корзину укажите свой провайдер

Answered by DenDy on November 11, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP