Судя по описанию https://dev.1c-bitrix.ru/api_help/catalog/events/... в функцие должны быть два параметра $ID и $arFields, а у вас только $arFields. Попробуйте отправить массив на почту mail(почта, тема, serialize($arFields));
AddEventHandler("catalog", "OnDiscountAdd", Array("MyClass", "OnDiscountAddTest"));
class MyClass
{
function OnDiscountAddTest($ID,$arFields)
{
var_dump($arFields);
echo("test");
mail(почта, тема, serialize($arFields)); // Отправляем массив на почту, чтобы посмотреть сработала ли функция
exit();
}
}
vladimirship: Так проблема в том, что функция вообще не вызывается. Мне по существу var_dump вообще не нужен, он просто используется как индикатор того, что функция сработала. Так же как и echo. Так вот у меня эта функция не вызывается вообще.
Да, вызвав кодом ниже CCatalogDiscount::Add
я получаю результат работы echo, но вот var_dump($arFields); не выдает ничего.
Ну да фиг с ним с var_dump. Почему при реальном создании скидки я не получаю результата? Неужели используется другая функция? Тогда почему этого нет в документации?
Ganjubas_Original: Насколько я помню, в последней версии каталога, они перешли со скидок на "Правила работы с корзиной", посмотрите какой метод вызывается в админке