Подключил событие OnGetOptimalPrice в init.php. Событие срабатывает.
Код подключения:
Все валюты прописаны. Валюта RUB с коэффициентом 1 существует.
При добавлении товара в корзину выдает ошибку "Не указана валюта цены"
Похожий код был на Хабре . Разница только в коде продукции intProductID.
Что за мистика?
Код подключения:
| Код |
|---|
AddEventHandler("catalog", "OnGetOptimalPrice", "MyGetOptimalPrice");
function MyGetOptimalPrice(
$intProductID,
$quantity = 1,
$arUserGroups = array(),
$renewal = "N",
$arPrices = array(),
$siteID = false,
$arDiscountCoupons = false
) {
AddMessage2Log("Событие сработало", "serverist");
$arPrices = CCatalogProduct::GetByIDEx($intProductID);
AddMessage2Log("CCatalogProduct::GetByIDEx arPrices=" . print_r($arPrices, true), "serverist");
$arPrices['PRODUCT']['PURCHASING_CURRENCY'] = $arPrices['PRICES'][1]['CURRENCY'];
$arPrices['DISCOUNT'][1] = array(
'ID' => 1,
'SITE_ID' => false,
'ACTIVE' => true,
'NAME' => 'serverist',
'VALUE' => 15,
'CURRENCY' => $arPrices['PRICES'][1]['CURRENCY']
);
AddMessage2Log("arPrices=" . print_r($arPrices, true), "serverist");
return $arPrices;
}
?>
|
Все валюты прописаны. Валюта RUB с коэффициентом 1 существует.
При добавлении товара в корзину выдает ошибку "Не указана валюта цены"
Похожий код был на Хабре . Разница только в коде продукции intProductID.
Что за мистика?