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