• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/base.php
  • Класс: BitrixIblockComponentBase
  • Вызов: Base::initCompatibleFields
protected function initCompatibleFields(array $items)
{
	if (empty($items))
		return;

	$initFields = array(
		'PRICES' => array(),
		'PRICE_MATRIX' => false,
		'MIN_PRICE' => false
	);
	if (!$this->arParams['USE_PRICE_COUNT'] && !empty($this->storage['PRICES']))
	{
		foreach ($this->storage['PRICES'] as $value)
		{
			if (!$value['CAN_VIEW'] && !$value['CAN_BUY'])
				continue;

			$priceType = $value['ID'];
			$initFields['CATALOG_GROUP_ID_'.$priceType] = $priceType;
			$initFields['~CATALOG_GROUP_ID_'.$priceType] = $priceType;
			$initFields['CATALOG_GROUP_NAME_'.$priceType] = $value['TITLE'];
			$initFields['~CATALOG_GROUP_NAME_'.$priceType] = $value['~TITLE'];
			$initFields['CATALOG_CAN_ACCESS_'.$priceType] = ($value['CAN_VIEW'] ? 'Y' : 'N');
			$initFields['~CATALOG_CAN_ACCESS_'.$priceType] = ($value['CAN_VIEW'] ? 'Y' : 'N');
			$initFields['CATALOG_CAN_BUY_'.$priceType] = ($value['CAN_BUY'] ? 'Y' : 'N');
			$initFields['~CATALOG_CAN_BUY_'.$priceType] = ($value['CAN_BUY'] ? 'Y' : 'N');
			$initFields['CATALOG_PRICE_ID_'.$priceType] = null;
			$initFields['~CATALOG_PRICE_ID_'.$priceType] = null;
			$initFields['CATALOG_PRICE_'.$priceType] = null;
			$initFields['~CATALOG_PRICE_'.$priceType] = null;
			$initFields['CATALOG_CURRENCY_'.$priceType] = null;
			$initFields['~CATALOG_CURRENCY_'.$priceType] = null;
			$initFields['CATALOG_QUANTITY_FROM_'.$priceType] = null;
			$initFields['~CATALOG_QUANTITY_FROM_'.$priceType] = null;
			$initFields['CATALOG_QUANTITY_TO_'.$priceType] = null;
			$initFields['~CATALOG_QUANTITY_TO_'.$priceType] = null;
			$initFields['CATALOG_EXTRA_ID_'.$priceType] = null;
			$initFields['~CATALOG_EXTRA_ID_'.$priceType] = null;
			unset($priceType);
		}
		unset($value);
	}

	foreach (array_keys($items) as $index)
		$this->oldData[$items[$index]['ID']] = $initFields;
	unset($index, $initFields);
}