• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/elementlist.php
  • Класс: BitrixIblockComponentElementList
  • Вызов: ElementList::prepareTemplateParams
protected function prepareTemplateParams()
{
	parent::prepareTemplateParams();
	$params =& $this->arParams;

	if ($params['LINE_ELEMENT_COUNT'] < 2)
	{
		$params['LINE_ELEMENT_COUNT'] = 2;
	}

	if ($params['LINE_ELEMENT_COUNT'] > 5)
	{
		$params['LINE_ELEMENT_COUNT'] = 5;
	}

	if ($params['ADD_TO_BASKET_ACTION'] != 'BUY')
	{
		$params['ADD_TO_BASKET_ACTION'] = 'ADD';
	}

	if (
		(empty($params['PRODUCT_ROW_VARIANTS']) || !is_array($params['PRODUCT_ROW_VARIANTS']))
		&& isset($params['~PRODUCT_ROW_VARIANTS'])
	)
	{
		$params['PRODUCT_ROW_VARIANTS'] = static::parseJsonParameter($params['~PRODUCT_ROW_VARIANTS']);
	}

	if (empty($params['PRODUCT_ROW_VARIANTS']))
	{
		$params['PRODUCT_ROW_VARIANTS'] = static::predictRowVariants($params['LINE_ELEMENT_COUNT'], $params['PAGE_ELEMENT_COUNT']);
	}

	if (empty($params['PRODUCT_BLOCKS_ORDER']))
	{
		$params['PRODUCT_BLOCKS_ORDER'] = 'price,props,sku,quantityLimit,quantity,buttons';
	}

	if (is_string($params['PRODUCT_BLOCKS_ORDER']))
	{
		$params['PRODUCT_BLOCKS_ORDER'] = explode(',', $params['PRODUCT_BLOCKS_ORDER']);
	}

	$params['PRODUCT_DISPLAY_MODE'] = isset($params['PRODUCT_DISPLAY_MODE']) && $params['PRODUCT_DISPLAY_MODE'] === 'Y' ? 'Y' : 'N';

	if ($this->isMultiIblockMode())
	{
		$this->getTemplateMultiIblockParams($params);
	}
	else
	{
		$this->getTemplateSingleIblockParams($params);
	}
}