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

	$params['DISPLAY_NAME'] = $params['DISPLAY_NAME'] === 'N' ? 'N' : 'Y';
	$params['USE_RATIO_IN_RANGES'] = $params['USE_RATIO_IN_RANGES'] === 'N' ? 'N' : 'Y';

	if (!isset($params['IMAGE_RESOLUTION']))
	{
		$params['IMAGE_RESOLUTION'] = '16by9';
	}

	if (!is_array($params['DETAIL_PICTURE_MODE']))
	{
		$params['DETAIL_PICTURE_MODE'] = array($params['DETAIL_PICTURE_MODE']);
	}

	$params['ADD_DETAIL_TO_SLIDER'] = $params['ADD_DETAIL_TO_SLIDER'] === 'Y' ? 'Y' : 'N';
	$displayPreviewTextMode = array('H' => true, 'E' => true, 'S' => true);
	if (!isset($displayPreviewTextMode[$params['DISPLAY_PREVIEW_TEXT_MODE']]))
	{
		$params['DISPLAY_PREVIEW_TEXT_MODE'] = 'E';
	}

	if (!is_array($params['ADD_TO_BASKET_ACTION']))
	{
		$params['ADD_TO_BASKET_ACTION'] = array($params['ADD_TO_BASKET_ACTION']);
	}

	$params['ADD_TO_BASKET_ACTION'] = array_filter($params['ADD_TO_BASKET_ACTION'], 'CIBlockParameters::checkParamValues');
	if (empty($params['ADD_TO_BASKET_ACTION']) || (!in_array('ADD', $params['ADD_TO_BASKET_ACTION']) && !in_array('BUY', $params['ADD_TO_BASKET_ACTION'])))
	{
		$params['ADD_TO_BASKET_ACTION'] = array('BUY');
	}

	if (!isset($params['ADD_TO_BASKET_ACTION_PRIMARY']) || !is_array($params['ADD_TO_BASKET_ACTION_PRIMARY']))
	{
		$params['ADD_TO_BASKET_ACTION_PRIMARY'] = array('BUY', 'ADD');
	}

	$params['USE_VOTE_RATING'] = $params['USE_VOTE_RATING'] === 'Y' ? 'Y' : 'N';

	if ($params['VOTE_DISPLAY_AS_RATING'] != 'vote_avg')
	{
		$params['VOTE_DISPLAY_AS_RATING'] = 'rating';
	}

	$params['USE_COMMENTS'] = $params['USE_COMMENTS'] === 'Y' ? 'Y' : 'N';
	$params['BLOG_USE'] = $params['BLOG_USE'] === 'Y' ? 'Y' : 'N';
	$params['VK_USE'] = $params['VK_USE'] === 'Y' && !empty($params['VK_API_ID']) ? 'Y' : 'N';
	$params['FB_USE'] = $params['FB_USE'] === 'Y' && !empty($params['FB_APP_ID']) ? 'Y' : 'N';

	if ($params['USE_COMMENTS'] === 'Y')
	{
		if ($params['BLOG_USE'] === 'N' && $params['VK_USE'] === 'N' && $params['FB_USE'] === 'N')
		{
			$params['USE_COMMENTS'] = 'N';
		}
	}

	$params['BRAND_USE'] = $params['BRAND_USE'] === 'Y' ? 'Y' : 'N';

	if ($params['BRAND_PROP_CODE'] == '')
	{
		$params['BRAND_PROP_CODE'] = array();
	}

	if (!is_array($params['BRAND_PROP_CODE']))
	{
		$params['BRAND_PROP_CODE'] = array($params['BRAND_PROP_CODE']);
	}

	if (empty($params['PRODUCT_INFO_BLOCK_ORDER']))
	{
		$params['PRODUCT_INFO_BLOCK_ORDER'] = 'sku,props,priceRanges';
	}

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

	if (empty($params['PRODUCT_PAY_BLOCK_ORDER']))
	{
		$params['PRODUCT_PAY_BLOCK_ORDER'] = 'rating,price,quantityLimit,quantity,buttons';
	}

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

	$this->getTemplateIblockParams($params);
}