События связанные с товарами и модификациями
1. OnBeforeAprixCreateElementinSite
Это событие вызывается перед созданием товара или торгового предложения на сайте при синхронизации данных из МойСклад в сторону сайта. Для торговых предложений событие срабатывает только при обработке вебхука, во время создания или обновления родительского товара, и не вызывается в цикле синхронизации модификаций.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnBeforeAprixCreateElementinSite',
'OnBeforeAprixCreateElementinSiteHandler'
);
/**
* @param string $action действие на которое срабатывает событие. Может быть CREATE или UPDATE
* @param array $arFields массив полей товара или торгового предложения, по которым они создаются на сайте (передаётся по ссылке и может быть модифицирован).
* @return void
*/
function OnBeforeAprixCreateElementinSiteHandler(string $action, array &$arFields)
{
// код обработчика
}
2. OnAprixBeforeUpdateProduct
Событие, которое вызывается перед добавлением товара на сайт:
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixBeforeUpdateProduct',
'OnAprixBeforeUpdateProductHandler'
);
/**
* @param int $idProduct идентификатор товара на сайте
* @param array &$arProduct массив, который содержит поля товара на сайте и поля соответствующего товара в МойСклад. Передается по ссылке и может быть модифицирован
* @return void
*/
function OnAprixBeforeUpdateProductHandler(int $idProduct, array &$arProduct)
{
// код обработчика
}
3. OnAprixAfterUpdateProduct
Событие, которое вызывается после обновления товара на сайте.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAfterUpdateProduct',
'OnAprixAfterUpdateProductHandler'
);
/**
* @param int $idProduct идентификатор товара на сайте
* @param array $arProduct массив, который содержит поля товара на сайте и поля этого же товара в МойСклад.
* @return void
*/
function OnAprixAfterUpdateProductHandler(int $idProduct, array $arProduct)
{
// код обработчика
}
4. OnAprixBeforeAddProduct
Событие, которое вызывается передсозданием товара на сайте.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixBeforeAddProduct',
'OnAprixBeforeAddProductHandler'
);
/**
* @param array &$arProduct массив, который содержит поля товара на сайте и поля этого же товара в МойСклад. Передается по ссылке, поэтому может быть модифицирован.
* @return void
*/
function OnAprixBeforeAddProductHandler(array &$arProduct)
{
// код обработчика
}
5. OnAprixAfterAddProduct
Событие вызывается после добавления товара на сайт.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAfterAddProduct',
'OnAprixAfterAddProductHandler'
);
/**
* @param int $idProduct идентификатор нового товара, который был добавлен на сайт
* @param array $arProduct массив, который содержит поля товара на сайте и поля соответствующего товара в МойСклад.
* @return void
*/
function OnAprixAfterAddProductHandler(int $idProduct, array $arProduct)
{
// код обработчика
}
6. OnAprixAfterAddOffer
Событие, которое вызывается после добавления торгового предложения на сайт.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAfterAddOffer',
'OnAprixAfterAddOfferHandler'
);
/**
* @param int $idSKU идентификатор торгового предложения на сайте
* @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
* @return void
*/
function OnAprixAfterAddOfferHandler(int $idSKU, array $arSKU)
{
// код обработчика
}
7. OnAprixAfterUpdateOffer
Событие, которое вызывается после обновления торгового предложения на сайте.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAfterUpdateOffer',
'OnAprixAfterUpdateOfferHandler'
);
/**
* @param int $idSKU идентификатор торгового предложения на сайте
* @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
* @return void
*/
function OnAprixAfterUpdateOfferHandler(int $idSKU, array $arSKU)
{
// код обработчика
}
8. OnAprixAfterCreateOffer
Событие, которое вызывается после создания торгового предложения на сайте.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAfterCreateOffer',
'OnAprixAfterCreateOfferHandler'
);
/**
* @param int $idSKU идентификатор торгового предложения на сайте
* @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
* @return void
*/
function OnAprixAfterCreateOfferHandler(int $idSKU, array $arSKU)
{
// код обработчика
}