Добрый день! На сайте цена товара отличается в зависимости от выбора города. В каталоге при выборе разных городов, цена у товара разная, но при добавлении товара в корзину, добавляется минимальная цена из всех типов цен. Побродив по форуму, вычитал, что для замены наименьшей цены, используется обработчик 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() ); } |