use Bitrix\Main\Localization\Loc;
use Bitrix\Catalog\ProductTable;
/**
* @global CMain $APPLICATION
* @var array $arParams
* @var array $arResult
* @var CatalogSectionComponent $component
* @var CBitrixComponentTemplate $this
* @var string $templateName
* @var string $componentPath
* @var string $templateFolder
*/
$this->setFrameMode(true);
$templateLibrary = array('popup', 'fx', 'ui.fonts.opensans');
$currencyList = '';
if (!empty($arResult['CURRENCIES']))
{
$templateLibrary[] = 'currency';
$currencyList = CUtil::PhpToJSObject($arResult['CURRENCIES'], false, true, true);
}
$haveOffers = !empty($arResult['OFFERS']);
$templateData = [
'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'],
'TEMPLATE_LIBRARY' => $templateLibrary,
'CURRENCIES' => $currencyList,
'ITEM' => [
'ID' => $arResult['ID'],
'IBLOCK_ID' => $arResult['IBLOCK_ID'],
],
];
if ($haveOffers)
{
$templateData['ITEM']['OFFERS_SELECTED'] = $arResult['OFFERS_SELECTED'];
$templateData['ITEM']['JS_OFFERS'] = $arResult['JS_OFFERS'];
}
unset($currencyList, $templateLibrary);
$mainId = $this->GetEditAreaId($arResult['ID']);
$itemIds = array(
'ID' => $mainId,
'DISCOUNT_PERCENT_ID' => $mainId.'_dsc_pict',
'STICKER_ID' => $mainId.'_sticker',
'BIG_SLIDER_ID' => $mainId.'_big_slider',
'BIG_IMG_CONT_ID' => $mainId.'_bigimg_cont',
'SLIDER_CONT_ID' => $mainId.'_slider_cont',
'OLD_PRICE_ID' => $mainId.'_old_price',
'PRICE_ID' => $mainId.'_price',
'DISCOUNT_PRICE_ID' => $mainId.'_price_discount',
'PRICE_TOTAL' => $mainId.'_price_total',
'SLIDER_CONT_OF_ID' => $mainId.'_slider_cont_',
'QUANTITY_ID' => $mainId.'_quantity',
'QUANTITY_DOWN_ID' => $mainId.'_quant_down',
'QUANTITY_UP_ID' => $mainId.'_quant_up',
'QUANTITY_MEASURE' => $mainId.'_quant_measure',
'QUANTITY_LIMIT' => $mainId.'_quant_limit',
'BUY_LINK' => $mainId.'_buy_link',
'ADD_BASKET_LINK' => $mainId.'_add_basket_link',
'BASKET_ACTIONS_ID' => $mainId.'_basket_actions',
'NOT_AVAILABLE_MESS' => $mainId.'_not_avail',
'COMPARE_LINK' => $mainId.'_compare_link',
'TREE_ID' => $haveOffers && !empty($arResult['OFFERS_PROP']) ? $mainId.'_skudiv' : null,
'DISPLAY_PROP_DIV' => $mainId.'_sku_prop',
'DESCRIPTION_ID' => $mainId.'_description',
'DISPLAY_MAIN_PROP_DIV' => $mainId.'_main_sku_prop',
'OFFER_GROUP' => $mainId.'_set_group_',
'BASKET_PROP_DIV' => $mainId.'_basket_prop',
'SUBSCRIBE_LINK' => $mainId.'_subscribe',
'TABS_ID' => $mainId.'_tabs',
'TAB_CONTAINERS_ID' => $mainId.'_tab_containers',
'SMALL_CARD_PANEL_ID' => $mainId.'_small_card_panel',
'TABS_PANEL_ID' => $mainId.'_tabs_panel'
);
$obName = $templateData['JS_OBJ'] = 'ob'.preg_replace('/[^a-zA-Z0-9_]/', 'x', $mainId);
$name = !empty($arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE'])
? $arResult['IPROPERTY_VALUES']['ELEMENT_PAGE_TITLE']
: $arResult['NAME'];
$title = !empty($arResult['IPROPERTY_VALUES']['ELEMENT_DETAIL_PICTURE_FILE_TITLE'])
? $arResult['IPROPERTY_VALUES']['ELEMENT_DETAIL_PICTURE_FILE_TITLE']
: $arResult['NAME'];
$alt = !empty($arResult['IPROPERTY_VALUES']['ELEMENT_DETAIL_PICTURE_FILE_ALT'])
? $arResult['IPROPERTY_VALUES']['ELEMENT_DETAIL_PICTURE_FILE_ALT']
: $arResult['NAME'];
if ($haveOffers)
{
$actualItem = $arResult['OFFERS'][$arResult['OFFERS_SELECTED']] ?? reset($arResult['OFFERS']);
$showSliderControls = false;
foreach ($arResult['OFFERS'] as $offer)
{
if ($offer['MORE_PHOTO_COUNT'] > 1)
{
$showSliderControls = true;
break;
}
}
}
else
{
$actualItem = $arResult;
$showSliderControls = $arResult['MORE_PHOTO_COUNT'] > 1;
}
$skuProps = array();
$price = $actualItem['ITEM_PRICES'][$actualItem['ITEM_PRICE_SELECTED']];
$measureRatio = $actualItem['ITEM_MEASURE_RATIOS'][$actualItem['ITEM_MEASURE_RATIO_SELECTED']]['RATIO'];
$showDiscount = $price['PERCENT'] > 0;
if ($arParams['SHOW_SKU_DESCRIPTION'] === 'Y')
{
$skuDescription = false;
foreach ($arResult['OFFERS'] as $offer)
{
if ($offer['DETAIL_TEXT'] != '' || $offer['PREVIEW_TEXT'] != '')
{
$skuDescription = true;
break;
}
}
$showDescription = $skuDescription || !empty($arResult['PREVIEW_TEXT']) || !empty($arResult['DETAIL_TEXT']);
}
else
{
$showDescription = !empty($arResult['PREVIEW_TEXT']) || !empty($arResult['DETAIL_TEXT']);
}
$showBuyBtn = in_array('BUY', $arParams['ADD_TO_BASKET_ACTION']);
$buyButtonClassName = in_array('BUY', $arParams['ADD_TO_BASKET_ACTION_PRIMARY']) ? 'btn-primary' : 'btn-link';
$showAddBtn = in_array('ADD', $arParams['ADD_TO_BASKET_ACTION']);
$showButtonClassName = in_array('ADD', $arParams['ADD_TO_BASKET_ACTION_PRIMARY']) ? 'btn-primary' : 'btn-link';
$showSubscribe = $arParams['PRODUCT_SUBSCRIPTION'] === 'Y' && ($arResult['PRODUCT']['SUBSCRIBE'] === 'Y' || $haveOffers);
$arParams['MESS_BTN_BUY'] = $arParams['MESS_BTN_BUY'] ?: Loc::getMessage('CT_BCE_CATALOG_BUY');
$arParams['MESS_BTN_ADD_TO_BASKET'] = $arParams['MESS_BTN_ADD_TO_BASKET'] ?: Loc::getMessage('CT_BCE_CATALOG_ADD');
if ($arResult['MODULES']['catalog'] && $arResult['PRODUCT']['TYPE'] === ProductTable::TYPE_SERVICE)
{
$arParams['~MESS_NOT_AVAILABLE'] = $arParams['~MESS_NOT_AVAILABLE_SERVICE']
?: Loc::getMessage('CT_BCE_CATALOG_NOT_AVAILABLE_SERVICE')
;
$arParams['MESS_NOT_AVAILABLE'] = $arParams['MESS_NOT_AVAILABLE_SERVICE']
?: Loc::getMessage('CT_BCE_CATALOG_NOT_AVAILABLE_SERVICE')
;
}
else
{
$arParams['~MESS_NOT_AVAILABLE'] = $arParams['~MESS_NOT_AVAILABLE']
?: Loc::getMessage('CT_BCE_CATALOG_NOT_AVAILABLE')
;
$arParams['MESS_NOT_AVAILABLE'] = $arParams['MESS_NOT_AVAILABLE']
?: Loc::getMessage('CT_BCE_CATALOG_NOT_AVAILABLE')
;
}
$arParams['MESS_BTN_COMPARE'] = $arParams['MESS_BTN_COMPARE'] ?: Loc::getMessage('CT_BCE_CATALOG_COMPARE');
$arParams['MESS_PRICE_RANGES_TITLE'] = $arParams['MESS_PRICE_RANGES_TITLE'] ?: Loc::getMessage('CT_BCE_CATALOG_PRICE_RANGES_TITLE');
$arParams['MESS_DESCRIPTION_TAB'] = $arParams['MESS_DESCRIPTION_TAB'] ?: Loc::getMessage('CT_BCE_CATALOG_DESCRIPTION_TAB');
$arParams['MESS_PROPERTIES_TAB'] = $arParams['MESS_PROPERTIES_TAB'] ?: Loc::getMessage('CT_BCE_CATALOG_PROPERTIES_TAB');
$arParams['MESS_COMMENTS_TAB'] = $arParams['MESS_COMMENTS_TAB'] ?: Loc::getMessage('CT_BCE_CATALOG_COMMENTS_TAB');
$arParams['MESS_SHOW_MAX_QUANTITY'] = $arParams['MESS_SHOW_MAX_QUANTITY'] ?: Loc::getMessage('CT_BCE_CATALOG_SHOW_MAX_QUANTITY');
$arParams['MESS_RELATIVE_QUANTITY_MANY'] = $arParams['MESS_RELATIVE_QUANTITY_MANY'] ?: Loc::getMessage('CT_BCE_CATALOG_RELATIVE_QUANTITY_MANY');
$arParams['MESS_RELATIVE_QUANTITY_FEW'] = $arParams['MESS_RELATIVE_QUANTITY_FEW'] ?: Loc::getMessage('CT_BCE_CATALOG_RELATIVE_QUANTITY_FEW');
$positionClassMap = array(
'left' => 'product-item-label-left',
'center' => 'product-item-label-center',
'right' => 'product-item-label-right',
'bottom' => 'product-item-label-bottom',
'middle' => 'product-item-label-middle',
'top' => 'product-item-label-top'
);
$discountPositionClass = 'product-item-label-big';
if ($arParams['SHOW_DISCOUNT_PERCENT'] === 'Y' && !empty($arParams['DISCOUNT_PERCENT_POSITION']))
{
foreach (explode('-', $arParams['DISCOUNT_PERCENT_POSITION']) as $pos)
{
$discountPositionClass .= isset($positionClassMap[$pos]) ? ' '.$positionClassMap[$pos] : '';
}
}
$labelPositionClass = 'product-item-label-big';
if (!empty($arParams['LABEL_PROP_POSITION']))
{
foreach (explode('-', $arParams['LABEL_PROP_POSITION']) as $pos)
{
$labelPositionClass .= isset($positionClassMap[$pos]) ? ' '.$positionClassMap[$pos] : '';
}
}
$themeClass = isset($arParams['TEMPLATE_THEME']) ? ' bx-'.$arParams['TEMPLATE_THEME'] : '';
?>
Комплекс «Венеция»
В наличии
YES
Текущая цена
139200 руб.
Название параметра
Цена за комплекс: / Размеры комплекса: / Кол-во столбов: / Размеры столба: / Вид ограды: / Гранит: / Балки (сечение):
Значение параметра
139200 руб. / 1,8 м. х 2 м. / 4 / 700х150х150 мм. / Венеция / Габбро Диабаз (Карелия) / 100x120 мм.
Показывать форму заказа
YES
Показывать поле Имя
YES
Обязательное поле Имя
YES
Показывать поле Телефон
YES
Обязательное поле Телефон
YES
Показывать поле Комментарий
YES
Сортировка популярности
500