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;
}
}
При добавление товара в корзину укажите свой провайдер
Answered by DenDy on November 11, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP