• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/base.php
  • Класс: BitrixIblockComponentBase
  • Вызов: Base::loadBasketPropertyCodes
protected function loadBasketPropertyCodes($iblockId)
{
	if (!$this->useCatalog)
		return;
	if (!isset($this->storage['CATALOGS'][$iblockId]))
		return;

	switch ($this->storage['CATALOGS'][$iblockId]['CATALOG_TYPE'])
	{
		case CCatalogSku::TYPE_CATALOG:
			$list = CatalogProductPropertyCatalogFeature::getBasketPropertyCodes(
				$iblockId,
				['CODE' => 'Y']
			);
			if ($list === null)
				$list = [];
			$this->storage['IBLOCK_PARAMS'][$iblockId]['CART_PROPERTIES'] = $list;
			unset($list);
			$this->storage['IBLOCK_PARAMS'][$iblockId]['OFFERS_CART_PROPERTIES'] = [];
			break;
		case CCatalogSku::TYPE_PRODUCT:
			$this->storage['IBLOCK_PARAMS'][$iblockId]['CART_PROPERTIES'] = [];
			$list = CatalogProductPropertyCatalogFeature::getBasketPropertyCodes(
				$this->getOffersIblockId($iblockId),
				['CODE' => 'Y']
			);
			if ($list === null)
				$list = [];
			$this->storage['IBLOCK_PARAMS'][$iblockId]['OFFERS_CART_PROPERTIES'] = $list;
			unset($list);
			break;
		case CCatalogSku::TYPE_FULL:
			$list = CatalogProductPropertyCatalogFeature::getBasketPropertyCodes(
				$iblockId,
				['CODE' => 'Y']
			);
			if ($list === null)
				$list = [];
			$this->storage['IBLOCK_PARAMS'][$iblockId]['CART_PROPERTIES'] = $list;
			$list = CatalogProductPropertyCatalogFeature::getBasketPropertyCodes(
				$this->getOffersIblockId($iblockId),
				['CODE' => 'Y']
			);
			if ($list === null)
				$list = [];
			$this->storage['IBLOCK_PARAMS'][$iblockId]['OFFERS_CART_PROPERTIES'] = $list;
			unset($list);
			break;
		case CCatalogSku::TYPE_OFFERS:
			$this->storage['IBLOCK_PARAMS'][$iblockId]['CART_PROPERTIES'] = [];
			$this->storage['IBLOCK_PARAMS'][$iblockId]['OFFERS_CART_PROPERTIES'] = [];
			break;
		default:
			break;
	}
}