• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/facebookconversion.php
  • Класс: BitrixSaleInternalsFacebookConversion
  • Вызов: FacebookConversion::getSkuNameAndPropertiesTextValue
static function getSkuNameAndPropertiesTextValue(int $offerId): ?string
{
	/** @var BaseSku $skuEntity */
	$skuEntity = ServiceContainer::getRepositoryFacade()->loadVariation($offerId);
	if (!$skuEntity)
	{
		return null;
	}

	$skuTree = self::getProductSkuTree($skuEntity);
	if (!$skuTree)
	{
		return null;
	}

	$selectedValues = $skuTree['SELECTED_VALUES'];
	$offersProp = $skuTree['OFFERS_PROP'];

	$skuProperties = [];
	foreach ($offersProp as $property)
	{
		$selectedValueId = $selectedValues[$property['ID']];
		if ($selectedValueId === 0)
		{
			continue;
		}

		$filteredValues = array_filter(
			$property['VALUES'],
			static function($valuesElement) use($selectedValueId) {
				return $valuesElement['ID'] === $selectedValueId;
			}
		);
		$skuProperties[] = $filteredValues[array_key_first($filteredValues)]['NAME'];
	}

	return $skuEntity->getName() . ' ' . implode(', ', $skuProperties);
}