OnAfterAdd
void функция-обработчик( \Bitrix\Catalog\Model\Event $event );
Событие OnAfterAdd вызывается в методе \Bitrix\Catalog\Model\Product::add после попытки записать товар в ORM-таблицу. Обработчик может проверить результат операции и получить данные товара.
Параметры события
| Параметр | Тип | Описание |
|---|---|---|
| id | int|null |
Идентификатор из результата ORM. При неуспешной записи может содержать null |
| fields | array |
Поля товара. После успешной записи содержит данные из результата ORM |
| external_fields | array |
Дополнительные поля, которые модель использует вне ORM-таблицы товара |
| actions | array |
Действия, подготовленные моделью для выполнения после добавления товара |
| success | bool |
Результат записи товара: true, если ORM-операция завершилась успешно, иначе false |
Событие отправляется после попытки записи независимо от ее результата. Результат обработчика не изменяет результат добавления. Внешние действия модели запускаются после события только при успешной записи.
Пример
Обработчик записывает в журнал идентификатор успешно добавленного товара.
<?php
use Bitrix\Catalog\Model\Event;
use Bitrix\Main\Diag\Debug;
use Bitrix\Main\EventManager;
EventManager::getInstance()->addEventHandler(
'catalog',
'Bitrix\Catalog\Model\Product::OnAfterAdd',
static function (Event $event): void
{
if ($event->getParameter('success') === true)
{
Debug::writeToFile(
$event->getParameter('id'),
'Added product ID',
'catalog-product.log'
);
}
}
);
Продолжить изучение
© «Битрикс», 2001-2026, «1С-Битрикс», 2026