Strict Standards: Declaration of PluginAceadminpanel_ModuleLang::Get() should be compatible with ModuleLang::Get($sName, $aReplace = Array, $bDelete = true) in /home/deer/pages.org.ua/blog/plugins/aceadminpanel/classes/modules/lang/Lang.class.php on line 21 Strict Standards: Declaration of PluginAceadminpanel_ModuleViewer::_SortBlocks() should be compatible with ModuleViewer::_SortBlocks($a, $b) in /home/deer/pages.org.ua/blog/plugins/aceadminpanel/classes/modules/viewer/Viewer.class.php on line 24 OnBeforeBasketAdd / Поиск по тегам / BPOU - Bitrix blog

Почему слетает цена, которая изменена через handler OnBeforeBasketAdd

В битриксе, при обработке корзины, у каждого товара есть своя callback функция (по умолчанию это CatalogBasketCallback).
В фунции CatalogBasketCallback для определения цены, вызывается функция GetOptimalPrice, которая выбирает самую мелкую цену товара. Иногда это нужно, но иногда нет. Что же делать? Нужно прописать в функции OnBeforeBasketAdd:

$arFields["CALLBACK_FUNC"] = "";

Или вызов своей функции, например MyBasketCallback, которая будет проверять скидки, цены, количество товара. И наступит счастье!