Необходимо при покупке определенного товара отправлять промокод на почту. В init.php по событию OnSaleComponentOrderCreated пытаюсь проверить есть ли в заказе данный товар, но файл с логами не создается
Код |
---|
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/logs/".date("d-m-Y").".txt");
use Bitrix\Main;
use Bitrix\Sale\Order;
Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleComponentOrderCreated',
'promocodeMail'
);
function promocodeMail($order, &$arUserResult, $request, &$arParams, &$arResult, &$arDeliveryServiceAll, &$arPaySystemServiceAll)
{
$basket = $order->getBasket();
$basketItems = $basket->getBasketItems();
if($basketItems) {
foreach($basketItems as $basketItem) {
if($basketItem->getField('PRODUCT_ID') == 182696) {
AddMessage2Log($basketItem->getField('PRODUCT_ID'), "Tehno");
break;
}
}
}
} |
Пытался и без условий по данному событию создавать файл с логами, но не работает
Код |
---|
function promocodeMail($order, &$arUserResult, $request, &$arParams, &$arResult, &$arDeliveryServiceAll, &$arPaySystemServiceAll)
{
AddMessage2Log($basketItem->getField('PRODUCT_ID'), "Tehno");
}
|
Тоже самое с событием OnSaleOrderSaved. В чем может быть дело?