Manager::onCatalogPriceAfterUpdate

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Manager
  4. onCatalogPriceAfterUpdate
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/manager.php
  • Класс: Bitrix\Crm\WebForm\Manager
  • Вызов: Manager::onCatalogPriceAfterUpdate
static function onCatalogPriceAfterUpdate(\Bitrix\Catalog\Model\Event $event): void
{
	if (Loader::includeModule('catalog'))
	{
		$priceId = $event->getParameter('id');
		$data = \Bitrix\Catalog\Model\Price::getCacheItem($priceId);
		if (isset($data['OLD_PRICE']) || isset($data['OLD_CURRENCY'])) // price changed
		{
			$productId = isset($data['PRODUCT_ID']) ? (int)$data['PRODUCT_ID'] : null;

			if ($productId)
			{
				$oldPrice = isset($data['OLD_PRICE']) ? (float)$data['OLD_PRICE'] : null;
				$newPrice = isset($data['PRICE']) ? (float)$data['PRICE'] : null;
				$oldCurrency = $data['OLD_CURRENCY'] ?? null;
				$newCurrency = $data['CURRENCY'] ?? null;

				$oldPrice = self::getRoundedPrice($oldPrice, $oldCurrency);
				$newPrice = self::getRoundedPrice($newPrice, $newCurrency);

				if ($oldPrice !== $newPrice || $oldCurrency !== $newCurrency)
				{
					self::updateProductFormsWithNewPrice($productId, $oldPrice, $newPrice, $oldCurrency, $newCurrency);
				}
			}
		}
	}
}

Добавить комментарий