Добрый день! На сайте цена товара отличается в зависимости от выбора города. В каталоге при выборе разных городов, цена у товара разная, но при добавлении товара в корзину, добавляется минимальная цена из всех типов цен. Побродив по форуму, вычитал, что для замены наименьшей цены, используется обработчик OnGetOptimalPrice. Так вот добавляю этот обработчик в init.php, добавляю товар в корзину, но ничего не происходит, хотя элементарно должно было совершиться запись в лог. Подскажите что не так я делаю?
урл по которому происходит добавление товара в корзину - /catalog/monopod_palochka_selfi/kreplenie_dlya_palochki_gopr o_chernyy/?action=ADD2BASKET&id=168246
урл по которому происходит добавление товара в корзину - /catalog/monopod_palochka_selfi/kreplenie_dlya_palochki_gopr
| Код |
|---|
Код обработчика.
AddEventHandler("catalog", "OnGetOptimalPrice", "MyGetOptimalPrice");
function MyGetOptimalPrice($intProductID, $quantity = 1, $arUserGroups = array(), $renewal = "N", $arPrices = array(), $siteID = false, $arDiscountCoupons = false)
{
AddMessage2Log('Работает','');
$price = array();
$db_price_list = CCatalogGroup::GetList(
array(),
array('NAME' => $sel_price ),
false,
false,
array()
);
while ($el = $db_price_list -> GetNext())
{
$idPrice = $el['ID'];
}
$db_price = CPrice::GetList(
array(),
array('PRODUCT_ID' =>$intProductID, 'CATALOG_GROUP_ID' =>$idPrice ),
false,
false,
array()
);
if ($el = $db_price -> GetNext())
{
$price = $el;
}
return array(
'PRICE' => array(
'CATALOG_GROUP_ID' => $price['CATALOG_GROUP_ID'],
'PRICE' => $price['PRICE'],
'CURRENCY' => $price['CURRENCY']
), //массив параметров минимальной цены
'DISCOUNT_PRICE' => num, // минимальная цена в базовой_валюте,
'DISCOUNT' => array(), // массив параметров первой из примененных скидок торгового каталога,
'DISCOUNT_LIST' => array(), // массив скидок действующих на товар в порядке применения,
// Начиная с 15.0.2 еще параметр
'RESULT_PRICE' => array()
);
}
|