• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/basketbase.php
  • Класс: BitrixSaleBasketBase
  • Вызов: BasketBase::callEventOnSaleBasketBeforeSaved
protected function callEventOnSaleBasketBeforeSaved()
{
	$result = new Result();

	/** @var MainEntityEvent $event */
	$event = new MainEvent(
		'sale',
		EventActions::EVENT_ON_BASKET_BEFORE_SAVED,
		array('ENTITY' => $this)
	);
	$event->send();

	if ($event->getResults())
	{
		/** @var MainEventResult $eventResult */
		foreach ($event->getResults() as $eventResult)
		{
			if ($eventResult->getType() == MainEventResult::ERROR)
			{
				$errorMsg = new ResultError(
					MainLocalizationLoc::getMessage('SALE_EVENT_ON_BEFORE_BASKET_SAVED'),
					'SALE_EVENT_ON_BEFORE_BASKET_SAVED'
				);
				if ($eventResultData = $eventResult->getParameters())
				{
					if (isset($eventResultData) && $eventResultData instanceof ResultError)
					{
						/** @var ResultError $errorMsg */
						$errorMsg = $eventResultData;
					}
				}

				$result->addError($errorMsg);
			}
		}
	}

	return $result;
}