+
+ if (!empty($arResult['ITEMS']) && !empty($arResult['ITEM_ROWS']))
+ {
+ $generalParams = [
+ 'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'],
+ 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'],
+ 'SHOW_MAX_QUANTITY' => $arParams['SHOW_MAX_QUANTITY'],
+ 'RELATIVE_QUANTITY_FACTOR' => $arParams['RELATIVE_QUANTITY_FACTOR'],
+ 'MESS_SHOW_MAX_QUANTITY' => $arParams['~MESS_SHOW_MAX_QUANTITY'],
+ 'MESS_RELATIVE_QUANTITY_MANY' => $arParams['~MESS_RELATIVE_QUANTITY_MANY'],
+ 'MESS_RELATIVE_QUANTITY_FEW' => $arParams['~MESS_RELATIVE_QUANTITY_FEW'],
+ 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'],
+ 'USE_PRODUCT_QUANTITY' => $arParams['USE_PRODUCT_QUANTITY'],
+ 'PRODUCT_QUANTITY_VARIABLE' => $arParams['PRODUCT_QUANTITY_VARIABLE'],
+ 'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'],
+ 'ADD_PROPERTIES_TO_BASKET' => $arParams['ADD_PROPERTIES_TO_BASKET'],
+ 'PRODUCT_PROPS_VARIABLE' => $arParams['PRODUCT_PROPS_VARIABLE'],
+ 'SHOW_CLOSE_POPUP' => $arParams['SHOW_CLOSE_POPUP'],
+ 'DISPLAY_COMPARE' => $arParams['DISPLAY_COMPARE'],
+ 'COMPARE_PATH' => $arParams['COMPARE_PATH'],
+ 'COMPARE_NAME' => $arParams['COMPARE_NAME'],
+ 'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'],
+ 'PRODUCT_BLOCKS_ORDER' => $arParams['PRODUCT_BLOCKS_ORDER'],
+ 'LABEL_POSITION_CLASS' => $labelPositionClass,
+ 'DISCOUNT_POSITION_CLASS' => $discountPositionClass,
+ 'SLIDER_INTERVAL' => $arParams['SLIDER_INTERVAL'],
+ 'SLIDER_PROGRESS' => $arParams['SLIDER_PROGRESS'],
+ '~BASKET_URL' => $arParams['~BASKET_URL'],
+ '~ADD_URL_TEMPLATE' => $arResult['~ADD_URL_TEMPLATE'],
+ '~BUY_URL_TEMPLATE' => $arResult['~BUY_URL_TEMPLATE'],
+ '~COMPARE_URL_TEMPLATE' => $arResult['~COMPARE_URL_TEMPLATE'],
+ '~COMPARE_DELETE_URL_TEMPLATE' => $arResult['~COMPARE_DELETE_URL_TEMPLATE'],
+ 'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'],
+ 'USE_ENHANCED_ECOMMERCE' => $arParams['USE_ENHANCED_ECOMMERCE'],
+ 'DATA_LAYER_NAME' => $arParams['DATA_LAYER_NAME'],
+ 'BRAND_PROPERTY' => $arParams['BRAND_PROPERTY'],
+ 'MESS_BTN_BUY' => $arParams['~MESS_BTN_BUY'],
+ 'MESS_BTN_DETAIL' => $arParams['~MESS_BTN_DETAIL'],
+ 'MESS_BTN_COMPARE' => $arParams['~MESS_BTN_COMPARE'],
+ 'MESS_BTN_SUBSCRIBE' => $arParams['~MESS_BTN_SUBSCRIBE'],
+ 'MESS_BTN_ADD_TO_BASKET' => $arParams['~MESS_BTN_ADD_TO_BASKET'],
+ ];
+
+ $areaIds = [];
+ $itemParameters = [];
+
+ foreach ($arResult['ITEMS'] as $item)
+ {
+ $uniqueId = $item['ID'].'_'.md5($this->randString().$component->getAction());
+ $areaIds[$item['ID']] = $this->GetEditAreaId($uniqueId);
+ $this->AddEditAction($uniqueId, $item['EDIT_LINK'], $elementEdit);
+ $this->AddDeleteAction($uniqueId, $item['DELETE_LINK'], $elementDelete, $elementDeleteParams);
+
+ $itemParameters[$item['ID']] = [
+ 'SKU_PROPS' => $arResult['SKU_PROPS'][$item['IBLOCK_ID']],
+ 'MESS_NOT_AVAILABLE' => ($arResult['MODULES']['catalog'] && $item['PRODUCT']['TYPE'] === ProductTable::TYPE_SERVICE
+ ? $arParams['~MESS_NOT_AVAILABLE_SERVICE']
+ : $arParams['~MESS_NOT_AVAILABLE']
+ ),
+ ];
+ }
+ ?>
+
+
+
+
+
Сортировать
+
+ По популярности
+ По возрастанию цены
+ По убыванию цены
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ foreach ($arResult['ITEM_ROWS'] as $rowData)
+ {
+ $rowItems = array_splice($arResult['ITEMS'], 0, $rowData['COUNT']);
+ ?>
+
+
+ switch ($rowData['VARIANT'])
+ {
+ case 0:
+ ?>
+
case 0
+
+
+
+
+
+
+ $item = reset($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+
+
+
+
+ break;
+
+ case 1:
+ ?>
+
case 1
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 2:
+ ?>
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ 'cat_item',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+ break;
+
+ case 3:
+ ?>
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ 'cat_item',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+ break;
+
+ case 4:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+
+ $item = array_shift($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 5:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+
+
+ $item = end($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+ break;
+
+ case 6:
+ ?>
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 7:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+
+ $item = array_shift($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 8:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+
+
+ $item = end($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+ break;
+
+ case 9:
+ ?>
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+ break;
+ }
+ ?>
+
+
+ }
+ unset($rowItems);
+
+ unset($itemParameters);
+ unset($areaIds);
+
+ unset($generalParams);
+ ?>
+
+
+ }
+
+ ?>
+
+
+
+
+}
+
+$signer = new \Bitrix\Main\Security\Sign\Signer;
+$signedTemplate = $signer->sign($templateName, 'catalog.section');
+$signedParams = $signer->sign(base64_encode(serialize($arResult['ORIGINAL_PARAMETERS'])), 'catalog.section');
+?>
+
+
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template2.php b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template2.php
new file mode 100644
index 0000000..8495543
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template2.php
@@ -0,0 +1,829 @@
+
+ * |
+ * |
+ */
+
+$this->setFrameMode(true);
+
+
+
+
+if (!empty($arResult['NAV_RESULT']))
+{
+ $navParams = array(
+ 'NavPageCount' => $arResult['NAV_RESULT']->NavPageCount,
+ 'NavPageNomer' => $arResult['NAV_RESULT']->NavPageNomer,
+ 'NavNum' => $arResult['NAV_RESULT']->NavNum
+ );
+}
+else
+{
+ $navParams = array(
+ 'NavPageCount' => 1,
+ 'NavPageNomer' => 1,
+ 'NavNum' => $this->randString()
+ );
+}
+
+$showTopPager = false;
+$showBottomPager = false;
+$showLazyLoad = false;
+
+if ($arParams['PAGE_ELEMENT_COUNT'] > 0 && $navParams['NavPageCount'] > 1)
+{
+ $showTopPager = $arParams['DISPLAY_TOP_PAGER'];
+ $showBottomPager = $arParams['DISPLAY_BOTTOM_PAGER'];
+ $showLazyLoad = $arParams['LAZY_LOAD'] === 'Y' && $navParams['NavPageNomer'] != $navParams['NavPageCount'];
+}
+
+$templateLibrary = array('popup', 'ajax', 'fx');
+$currencyList = '';
+
+if (!empty($arResult['CURRENCIES']))
+{
+ $templateLibrary[] = 'currency';
+ $currencyList = CUtil::PhpToJSObject($arResult['CURRENCIES'], false, true, true);
+}
+
+$templateData = array(
+ 'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'],
+ 'TEMPLATE_LIBRARY' => $templateLibrary,
+ 'CURRENCIES' => $currencyList,
+ 'USE_PAGINATION_CONTAINER' => $showTopPager || $showBottomPager,
+);
+unset($currencyList, $templateLibrary);
+
+$elementEdit = CIBlock::GetArrayByID($arParams['IBLOCK_ID'], 'ELEMENT_EDIT');
+$elementDelete = CIBlock::GetArrayByID($arParams['IBLOCK_ID'], 'ELEMENT_DELETE');
+$elementDeleteParams = array('CONFIRM' => GetMessage('CT_BCS_TPL_ELEMENT_DELETE_CONFIRM'));
+
+$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 = '';
+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 = '';
+if (!empty($arParams['LABEL_PROP_POSITION']))
+{
+ foreach (explode('-', $arParams['LABEL_PROP_POSITION']) as $pos)
+ {
+ $labelPositionClass .= isset($positionClassMap[$pos]) ? ' '.$positionClassMap[$pos] : '';
+ }
+}
+
+$arParams['~MESS_BTN_BUY'] = ($arParams['~MESS_BTN_BUY'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_BTN_BUY');
+$arParams['~MESS_BTN_DETAIL'] = ($arParams['~MESS_BTN_DETAIL'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_BTN_DETAIL');
+$arParams['~MESS_BTN_COMPARE'] = ($arParams['~MESS_BTN_COMPARE'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_BTN_COMPARE');
+$arParams['~MESS_BTN_SUBSCRIBE'] = ($arParams['~MESS_BTN_SUBSCRIBE'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_BTN_SUBSCRIBE');
+$arParams['~MESS_BTN_ADD_TO_BASKET'] = ($arParams['~MESS_BTN_ADD_TO_BASKET'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_BTN_ADD_TO_BASKET');
+$arParams['~MESS_NOT_AVAILABLE'] = ($arParams['~MESS_NOT_AVAILABLE'] ?? '') ?: Loc::getMessage('CT_BCS_TPL_MESS_PRODUCT_NOT_AVAILABLE');
+$arParams['~MESS_NOT_AVAILABLE_SERVICE'] = ($arParams['~MESS_NOT_AVAILABLE_SERVICE'] ?? '') ?: Loc::getMessage('CP_BCS_TPL_MESS_PRODUCT_NOT_AVAILABLE_SERVICE');
+$arParams['~MESS_SHOW_MAX_QUANTITY'] = ($arParams['~MESS_SHOW_MAX_QUANTITY'] ?? '') ?: Loc::getMessage('CT_BCS_CATALOG_SHOW_MAX_QUANTITY');
+$arParams['~MESS_RELATIVE_QUANTITY_MANY'] = ($arParams['~MESS_RELATIVE_QUANTITY_MANY'] ?? '') ?: Loc::getMessage('CT_BCS_CATALOG_RELATIVE_QUANTITY_MANY');
+$arParams['MESS_RELATIVE_QUANTITY_MANY'] = ($arParams['MESS_RELATIVE_QUANTITY_MANY'] ?? '') ?: Loc::getMessage('CT_BCS_CATALOG_RELATIVE_QUANTITY_MANY');
+$arParams['~MESS_RELATIVE_QUANTITY_FEW'] = ($arParams['~MESS_RELATIVE_QUANTITY_FEW'] ?? '') ?: Loc::getMessage('CT_BCS_CATALOG_RELATIVE_QUANTITY_FEW');
+$arParams['MESS_RELATIVE_QUANTITY_FEW'] = ($arParams['MESS_RELATIVE_QUANTITY_FEW'] ?? '') ?: Loc::getMessage('CT_BCS_CATALOG_RELATIVE_QUANTITY_FEW');
+
+$arParams['MESS_BTN_LAZY_LOAD'] = $arParams['MESS_BTN_LAZY_LOAD'] ?: Loc::getMessage('CT_BCS_CATALOG_MESS_BTN_LAZY_LOAD');
+
+$obName = 'ob'.preg_replace('/[^a-zA-Z0-9_]/', 'x', $this->GetEditAreaId($navParams['NavNum']));
+$containerName = 'container-'.$navParams['NavNum'];
+
+if ($showTopPager)
+{
+ ?>
+
+
+ if (!empty($arResult['ITEMS']) && !empty($arResult['ITEM_ROWS']))
+ {
+ $generalParams = [
+ 'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'],
+ 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'],
+ 'SHOW_MAX_QUANTITY' => $arParams['SHOW_MAX_QUANTITY'],
+ 'RELATIVE_QUANTITY_FACTOR' => $arParams['RELATIVE_QUANTITY_FACTOR'],
+ 'MESS_SHOW_MAX_QUANTITY' => $arParams['~MESS_SHOW_MAX_QUANTITY'],
+ 'MESS_RELATIVE_QUANTITY_MANY' => $arParams['~MESS_RELATIVE_QUANTITY_MANY'],
+ 'MESS_RELATIVE_QUANTITY_FEW' => $arParams['~MESS_RELATIVE_QUANTITY_FEW'],
+ 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'],
+ 'USE_PRODUCT_QUANTITY' => $arParams['USE_PRODUCT_QUANTITY'],
+ 'PRODUCT_QUANTITY_VARIABLE' => $arParams['PRODUCT_QUANTITY_VARIABLE'],
+ 'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'],
+ 'ADD_PROPERTIES_TO_BASKET' => $arParams['ADD_PROPERTIES_TO_BASKET'],
+ 'PRODUCT_PROPS_VARIABLE' => $arParams['PRODUCT_PROPS_VARIABLE'],
+ 'SHOW_CLOSE_POPUP' => $arParams['SHOW_CLOSE_POPUP'],
+ 'DISPLAY_COMPARE' => $arParams['DISPLAY_COMPARE'],
+ 'COMPARE_PATH' => $arParams['COMPARE_PATH'],
+ 'COMPARE_NAME' => $arParams['COMPARE_NAME'],
+ 'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'],
+ 'PRODUCT_BLOCKS_ORDER' => $arParams['PRODUCT_BLOCKS_ORDER'],
+ 'LABEL_POSITION_CLASS' => $labelPositionClass,
+ 'DISCOUNT_POSITION_CLASS' => $discountPositionClass,
+ 'SLIDER_INTERVAL' => $arParams['SLIDER_INTERVAL'],
+ 'SLIDER_PROGRESS' => $arParams['SLIDER_PROGRESS'],
+ '~BASKET_URL' => $arParams['~BASKET_URL'],
+ '~ADD_URL_TEMPLATE' => $arResult['~ADD_URL_TEMPLATE'],
+ '~BUY_URL_TEMPLATE' => $arResult['~BUY_URL_TEMPLATE'],
+ '~COMPARE_URL_TEMPLATE' => $arResult['~COMPARE_URL_TEMPLATE'],
+ '~COMPARE_DELETE_URL_TEMPLATE' => $arResult['~COMPARE_DELETE_URL_TEMPLATE'],
+ 'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'],
+ 'USE_ENHANCED_ECOMMERCE' => $arParams['USE_ENHANCED_ECOMMERCE'],
+ 'DATA_LAYER_NAME' => $arParams['DATA_LAYER_NAME'],
+ 'BRAND_PROPERTY' => $arParams['BRAND_PROPERTY'],
+ 'MESS_BTN_BUY' => $arParams['~MESS_BTN_BUY'],
+ 'MESS_BTN_DETAIL' => $arParams['~MESS_BTN_DETAIL'],
+ 'MESS_BTN_COMPARE' => $arParams['~MESS_BTN_COMPARE'],
+ 'MESS_BTN_SUBSCRIBE' => $arParams['~MESS_BTN_SUBSCRIBE'],
+ 'MESS_BTN_ADD_TO_BASKET' => $arParams['~MESS_BTN_ADD_TO_BASKET'],
+ ];
+
+ $areaIds = [];
+ $itemParameters = [];
+
+ foreach ($arResult['ITEMS'] as $item)
+ {
+ $uniqueId = $item['ID'].'_'.md5($this->randString().$component->getAction());
+ $areaIds[$item['ID']] = $this->GetEditAreaId($uniqueId);
+ $this->AddEditAction($uniqueId, $item['EDIT_LINK'], $elementEdit);
+ $this->AddDeleteAction($uniqueId, $item['DELETE_LINK'], $elementDelete, $elementDeleteParams);
+
+ $itemParameters[$item['ID']] = [
+ 'SKU_PROPS' => $arResult['SKU_PROPS'][$item['IBLOCK_ID']],
+ 'MESS_NOT_AVAILABLE' => ($arResult['MODULES']['catalog'] && $item['PRODUCT']['TYPE'] === ProductTable::TYPE_SERVICE
+ ? $arParams['~MESS_NOT_AVAILABLE_SERVICE']
+ : $arParams['~MESS_NOT_AVAILABLE']
+ ),
+ ];
+ }
+ ?>
+
+
+
+
+
Сортировать
+
+ По популярности
+ По возрастанию цены
+ По убыванию цены
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ foreach ($arResult['ITEM_ROWS'] as $rowData)
+ {
+ $rowItems = array_splice($arResult['ITEMS'], 0, $rowData['COUNT']);
+ ?>
+
+
+ switch ($rowData['VARIANT'])
+ {
+ case 0:
+ ?>
+
case 0
+
+
+
+
+
+
+ $item = reset($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+
+
+
+
+ break;
+
+ case 1:
+ ?>
+
case 1
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 2:
+ ?>
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ 'cat_item',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+ break;
+
+ case 3:
+ ?>
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ 'cat_item',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+ break;
+
+ case 4:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+
+ $item = array_shift($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 5:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+
+
+ $item = end($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+ break;
+
+ case 6:
+ ?>
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 7:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+
+ $item = array_shift($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+ break;
+
+ case 8:
+ $rowItemsCount = count($rowItems);
+ ?>
+
+
+
+ for ($i = 0; $i < $rowItemsCount - 1; $i++)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $rowItems[$i],
+ 'AREA_ID' => $areaIds[$rowItems[$i]['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$rowItems[$i]['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+
+
+ $item = end($rowItems);
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'Y'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ unset($item);
+ ?>
+
+
+
+
+ break;
+
+ case 9:
+ ?>
+
+
+
+ foreach ($rowItems as $item)
+ {
+ ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ '',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+ }
+ ?>
+
+
+
+
+ break;
+ }
+ ?>
+
+
+ }
+ unset($rowItems);
+
+ unset($itemParameters);
+ unset($areaIds);
+
+ unset($generalParams);
+ ?>
+
+
+ }
+
+ ?>
+
+
+
+
+}
+
+$signer = new \Bitrix\Main\Security\Sign\Signer;
+$signedTemplate = $signer->sign($templateName, 'catalog.section');
+$signedParams = $signer->sign(base64_encode(serialize($arResult['ORIGINAL_PARAMETERS'])), 'catalog.section');
+?>
+
+
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template_new.php b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template_new.php
new file mode 100644
index 0000000..f87a109
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/template_new.php
@@ -0,0 +1,267 @@
+
+
+
+
Сортировать
+
+ По популярности
+ По возрастанию цены
+ По убыванию цены
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ * |
+ * |
+ */
+
+
+ $discountPositionClass = '';
+ 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 = '';
+ if (!empty($arParams['LABEL_PROP_POSITION']))
+ {
+ foreach (explode('-', $arParams['LABEL_PROP_POSITION']) as $pos)
+ {
+ $labelPositionClass .= isset($positionClassMap[$pos]) ? ' '.$positionClassMap[$pos] : '';
+ }
+ }
+
+ if (!empty($arResult['ITEMS']) && !empty($arResult['ITEM_ROWS']))
+ {
+ $generalParams = [
+ 'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'],
+ 'PRODUCT_DISPLAY_MODE' => $arParams['PRODUCT_DISPLAY_MODE'],
+ 'SHOW_MAX_QUANTITY' => $arParams['SHOW_MAX_QUANTITY'],
+ 'RELATIVE_QUANTITY_FACTOR' => $arParams['RELATIVE_QUANTITY_FACTOR'],
+ 'MESS_SHOW_MAX_QUANTITY' => $arParams['~MESS_SHOW_MAX_QUANTITY'],
+ 'MESS_RELATIVE_QUANTITY_MANY' => $arParams['~MESS_RELATIVE_QUANTITY_MANY'],
+ 'MESS_RELATIVE_QUANTITY_FEW' => $arParams['~MESS_RELATIVE_QUANTITY_FEW'],
+ 'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'],
+ 'USE_PRODUCT_QUANTITY' => $arParams['USE_PRODUCT_QUANTITY'],
+ 'PRODUCT_QUANTITY_VARIABLE' => $arParams['PRODUCT_QUANTITY_VARIABLE'],
+ 'ADD_TO_BASKET_ACTION' => $arParams['ADD_TO_BASKET_ACTION'],
+ 'ADD_PROPERTIES_TO_BASKET' => $arParams['ADD_PROPERTIES_TO_BASKET'],
+ 'PRODUCT_PROPS_VARIABLE' => $arParams['PRODUCT_PROPS_VARIABLE'],
+ 'SHOW_CLOSE_POPUP' => $arParams['SHOW_CLOSE_POPUP'],
+ 'DISPLAY_COMPARE' => $arParams['DISPLAY_COMPARE'],
+ 'COMPARE_PATH' => $arParams['COMPARE_PATH'],
+ 'COMPARE_NAME' => $arParams['COMPARE_NAME'],
+ 'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'],
+ 'PRODUCT_BLOCKS_ORDER' => $arParams['PRODUCT_BLOCKS_ORDER'],
+ 'LABEL_POSITION_CLASS' => $labelPositionClass,
+ 'DISCOUNT_POSITION_CLASS' => $discountPositionClass,
+ 'SLIDER_INTERVAL' => $arParams['SLIDER_INTERVAL'],
+ 'SLIDER_PROGRESS' => $arParams['SLIDER_PROGRESS'],
+ '~BASKET_URL' => $arParams['~BASKET_URL'],
+ '~ADD_URL_TEMPLATE' => $arResult['~ADD_URL_TEMPLATE'],
+ '~BUY_URL_TEMPLATE' => $arResult['~BUY_URL_TEMPLATE'],
+ '~COMPARE_URL_TEMPLATE' => $arResult['~COMPARE_URL_TEMPLATE'],
+ '~COMPARE_DELETE_URL_TEMPLATE' => $arResult['~COMPARE_DELETE_URL_TEMPLATE'],
+ 'TEMPLATE_THEME' => $arParams['TEMPLATE_THEME'],
+ 'USE_ENHANCED_ECOMMERCE' => $arParams['USE_ENHANCED_ECOMMERCE'],
+ 'DATA_LAYER_NAME' => $arParams['DATA_LAYER_NAME'],
+ 'BRAND_PROPERTY' => $arParams['BRAND_PROPERTY'],
+ 'MESS_BTN_BUY' => $arParams['~MESS_BTN_BUY'],
+ 'MESS_BTN_DETAIL' => $arParams['~MESS_BTN_DETAIL'],
+ 'MESS_BTN_COMPARE' => $arParams['~MESS_BTN_COMPARE'],
+ 'MESS_BTN_SUBSCRIBE' => $arParams['~MESS_BTN_SUBSCRIBE'],
+ 'MESS_BTN_ADD_TO_BASKET' => $arParams['~MESS_BTN_ADD_TO_BASKET'],
+ ];
+}
+ $elementEdit = CIBlock::GetArrayByID($arParams['IBLOCK_ID'], 'ELEMENT_EDIT');
+ $elementDelete = CIBlock::GetArrayByID($arParams['IBLOCK_ID'], 'ELEMENT_DELETE');
+ $elementDeleteParams = array('CONFIRM' => GetMessage('CT_BCS_TPL_ELEMENT_DELETE_CONFIRM'));
+
+ $areaIds = [];
+ $itemParameters = [];
+
+ foreach ($arResult['ITEMS'] as $item)
+ {
+ $uniqueId = $item['ID'].'_'.md5($this->randString().$component->getAction());
+ $areaIds[$item['ID']] = $this->GetEditAreaId($uniqueId);
+ $this->AddEditAction($uniqueId, $item['EDIT_LINK'], $elementEdit);
+ $this->AddDeleteAction($uniqueId, $item['DELETE_LINK'], $elementDelete, $elementDeleteParams);
+
+ $itemParameters[$item['ID']] = [
+ 'SKU_PROPS' => $arResult['SKU_PROPS'][$item['IBLOCK_ID']],
+ 'MESS_NOT_AVAILABLE' => ($arResult['MODULES']['catalog'] && $item['PRODUCT']['TYPE'] === ProductTable::TYPE_SERVICE
+ ? $arParams['~MESS_NOT_AVAILABLE_SERVICE']
+ : $arParams['~MESS_NOT_AVAILABLE']
+ ),
+ ];
+ }
+ ?>
+
+
+
+
+
+// print_r($item['NAME'];); ?>
+
+
+ $APPLICATION->IncludeComponent(
+ 'bitrix:catalog.item',
+ 'cat_item',
+ array(
+ 'RESULT' => array(
+ 'ITEM' => $item,
+ 'AREA_ID' => $areaIds[$item['ID']],
+ 'TYPE' => $rowData['TYPE'],
+ 'BIG_LABEL' => 'N',
+ 'BIG_DISCOUNT_PERCENT' => 'N',
+ 'BIG_BUTTONS' => 'Y',
+ 'SCALABLE' => 'N'
+ ),
+ 'PARAMS' => $generalParams + $itemParameters[$item['ID']],
+ ),
+ $component,
+ array('HIDE_ICONS' => 'Y')
+ );
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/images/x2border_active.png
new file mode 100644
index 0000000..7eb3fee
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.css
new file mode 100644
index 0000000..6b51eef
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.css
@@ -0,0 +1,61 @@
+/* catalog.section */
+.bx_black.bx-section-desc{
+ border-left-color:#0083d1;
+}
+.bx_catalog_list_home.bx_black .bx_bt_button {
+ background:#00a2df;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwYTJkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDZmY2IiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#00a2df),color-stop(100%,#006fcb));
+ background:-webkit-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -moz-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -ms-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -o-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: linear-gradient(to bottom,#00a2df 0%,#006fcb 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a2df',endColorstr='#006fcb',GradientType=0);
+
+ color:#fff;
+ text-shadow: 0 1px 0 #165c99;
+ display:inline-block;
+ border-radius:3px;
+ text-align:center;
+ text-decoration:none;
+ font-size:14px;
+ cursor:pointer;
+}
+.bx_catalog_list_home.bx_black .bx_bt_button:hover {
+ background:#26b0e4;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzI2YjBlNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#26b0e4),color-stop(100%,#2684d3));
+ background:-webkit-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -moz-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -ms-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -o-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: linear-gradient(to bottom,#26b0e4 0%,#2684d3 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#26b0e4',endColorstr='#2684d3',GradientType=0 );
+}
+.bx_catalog_list_home.bx_black .bx_bt_button:active {
+ background:#0052bf;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwNTJiZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDg1ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0052bf),color-stop(100%,#0085d3));
+ background:-webkit-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -moz-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -ms-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -o-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background:linear-gradient(to bottom,#0052bf 0%,#0085d3 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#0052bf',endColorstr='#0085d3',GradientType=0 );
+}
+
+/* scu_detail_size */
+.bx-retina .bx_catalog_list_home.bx_black .bx_item_detail_size ul li.bx_active .cnt{
+ -webkit-border-image: url(images/x2border_active.png) 2 stretch;
+ -moz-border-image: url(images/x2border_active.png) 2 stretch;
+ -o-border-image: url(images/x2border_active.png) 2 stretch;
+ border-image: url(images/x2border_active.png) 2 fill stretch;
+}
+/* scu_detail_scu */
+.bx-retina .bx_catalog_list_home.bx_black .bx_item_detail_scu .bx_scu ul li.bx_active .cnt{
+ -webkit-border-image: url(images/x2border_active.png) 2 stretch;
+ -moz-border-image: url(images/x2border_active.png) 2 stretch;
+ -o-border-image: url(images/x2border_active.png) 2 stretch;
+ border-image: url(images/x2border_active.png) 2 fill stretch;
+}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.min.css
new file mode 100644
index 0000000..9c34b2a
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/black/style.min.css
@@ -0,0 +1 @@
+.bx_black.bx-section-desc{border-left-color:#0083d1}.bx_catalog_list_home.bx_black .bx_bt_button{background:#00a2df;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwYTJkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDZmY2IiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#00a2df),color-stop(100%,#006fcb));background:-webkit-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-moz-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-ms-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-o-linear-gradient(top,#00a2df 0,#006fcb 100%);background:linear-gradient(to bottom,#00a2df 0,#006fcb 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a2df',endColorstr='#006fcb',GradientType=0);color:#fff;text-shadow:0 1px 0 #165c99;display:inline-block;border-radius:3px;text-align:center;text-decoration:none;font-size:14px;cursor:pointer}.bx_catalog_list_home.bx_black .bx_bt_button:hover{background:#26b0e4;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzI2YjBlNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#26b0e4),color-stop(100%,#2684d3));background:-webkit-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-moz-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-ms-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-o-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:linear-gradient(to bottom,#26b0e4 0,#2684d3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#26b0e4',endColorstr='#2684d3',GradientType=0)}.bx_catalog_list_home.bx_black .bx_bt_button:active{background:#0052bf;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwNTJiZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDg1ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0052bf),color-stop(100%,#0085d3));background:-webkit-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-moz-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-ms-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-o-linear-gradient(top,#0052bf 0,#0085d3 100%);background:linear-gradient(to bottom,#0052bf 0,#0085d3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0052bf',endColorstr='#0085d3',GradientType=0)}.bx-retina .bx_catalog_list_home.bx_black .bx_item_detail_size ul li.bx_active .cnt{-webkit-border-image:url(images/x2border_active.png) 2 stretch;-moz-border-image:url(images/x2border_active.png) 2 stretch;-o-border-image:url(images/x2border_active.png) 2 stretch;border-image:url(images/x2border_active.png) 2 fill stretch}.bx-retina .bx_catalog_list_home.bx_black .bx_item_detail_scu .bx_scu ul li.bx_active .cnt{-webkit-border-image:url(images/x2border_active.png) 2 stretch;-moz-border-image:url(images/x2border_active.png) 2 stretch;-o-border-image:url(images/x2border_active.png) 2 stretch;border-image:url(images/x2border_active.png) 2 fill stretch}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border.png
new file mode 100644
index 0000000..e7b32cf
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border_active.png
new file mode 100644
index 0000000..7eb3fee
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.css
new file mode 100644
index 0000000..707d22e
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.css
@@ -0,0 +1,25 @@
+/* catalog.section */
+
+/*
+#3052bf
+#26b0e4
+#00a2df
+*/
+
+/* Slider */
+.bx-blue .product-item-image-slider-progress-bar { background-color: #0083d1;}
+.bx-blue .product-item-image-slider-control:hover{ background-color: rgba(0,131,209,.8);}
+.bx-blue .product-item-image-slider-control.active,
+.bx-blue .product-item-image-slider-control:hover{ background-color: #0083d1;}
+
+/* SCU */
+.bx-blue .product-item-scu-item-text-block:hover,
+.bx-blue .product-item-scu-item-color-block:hover,
+.bx-blue .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,
+.bx-blue .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{ outline-color: #006cc0;}
+
+/* Amount */
+.bx-blue .product-item-amount-field:focus{border-color: #006cc0;}
+
+
+.bx-blue .catalog-section-header{border-color:#006cc0;}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.min.css
new file mode 100644
index 0000000..c0f4105
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/blue/style.min.css
@@ -0,0 +1 @@
+.bx-blue .product-item-image-slider-progress-bar{background-color:#0083d1}.bx-blue .product-item-image-slider-control:hover{background-color:rgba(0,131,209,.8)}.bx-blue .product-item-image-slider-control.active,.bx-blue .product-item-image-slider-control:hover{background-color:#0083d1}.bx-blue .product-item-scu-item-text-block:hover,.bx-blue .product-item-scu-item-color-block:hover,.bx-blue .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,.bx-blue .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{outline-color:#006cc0}.bx-blue .product-item-amount-field:focus{border-color:#006cc0}.bx-blue .catalog-section-header{border-color:#006cc0}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border.png
new file mode 100644
index 0000000..e7b32cf
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border_active.png
new file mode 100644
index 0000000..96c4255
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.css
new file mode 100644
index 0000000..e33fb06
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.css
@@ -0,0 +1,26 @@
+/* catalog.section */
+
+/*
+#63aa28
+#6fb32d
+#7ab748
+#a8d95b
+*/
+
+/* Slider */
+.bx-green .product-item-image-slider-progress-bar { background-color: #5b9f0b;}
+.bx-green .product-item-image-slider-control:hover{ background-color: rgba(91,159,11,.8);}
+.bx-green .product-item-image-slider-control.active,
+.bx-green .product-item-image-slider-control:hover{ background-color: #5b9f0b;}
+
+/* SCU */
+.bx-green .product-item-scu-item-text-block:hover,
+.bx-green .product-item-scu-item-color-block:hover,
+.bx-green .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,
+.bx-green .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{ outline-color: #63aa28;}
+
+/* Amount */
+.bx-green .product-item-amount-field:focus{border-color: #63aa28;}
+
+
+.bx-green .catalog-section-header{border-color:#63aa28;}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.min.css
new file mode 100644
index 0000000..623432e
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/green/style.min.css
@@ -0,0 +1 @@
+.bx-green .product-item-image-slider-progress-bar{background-color:#5b9f0b}.bx-green .product-item-image-slider-control:hover{background-color:rgba(91,159,11,.8)}.bx-green .product-item-image-slider-control.active,.bx-green .product-item-image-slider-control:hover{background-color:#5b9f0b}.bx-green .product-item-scu-item-text-block:hover,.bx-green .product-item-scu-item-color-block:hover,.bx-green .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,.bx-green .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{outline-color:#63aa28}.bx-green .product-item-amount-field:focus{border-color:#63aa28}.bx-green .catalog-section-header{border-color:#63aa28}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/images/x2border_active.png
new file mode 100644
index 0000000..0fe7892
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.css
new file mode 100644
index 0000000..6fb672c
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.css
@@ -0,0 +1,26 @@
+/* catalog.section */
+
+/*
+#651c0d
+#a9331c
+#772c1c
+#bd4b35
+*/
+
+/* Slider */
+.bx-red .product-item-image-slider-progress-bar { background-color: #F42C2C;}
+.bx-red .product-item-image-slider-control:hover{ background-color: rgba(244,44,44,.8);}
+.bx-red .product-item-image-slider-control.active,
+.bx-red .product-item-image-slider-control:hover{ background-color: #F42C2C;}
+
+/* SCU */
+.bx-red .product-item-scu-item-text-block:hover,
+.bx-red .product-item-scu-item-color-block:hover,
+.bx-red .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,
+.bx-red .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{ outline-color: #da3737;}
+
+/* Amount */
+.bx-red .product-item-amount-field:focus{border-color: #da3737;}
+
+
+.bx-red .catalog-section-header{border-color:#da3737;}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.min.css
new file mode 100644
index 0000000..4c71fe4
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/red/style.min.css
@@ -0,0 +1 @@
+.bx-red .product-item-image-slider-progress-bar{background-color:#f42c2c}.bx-red .product-item-image-slider-control:hover{background-color:rgba(244,44,44,.8)}.bx-red .product-item-image-slider-control.active,.bx-red .product-item-image-slider-control:hover{background-color:#f42c2c}.bx-red .product-item-scu-item-text-block:hover,.bx-red .product-item-scu-item-color-block:hover,.bx-red .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,.bx-red .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{outline-color:#da3737}.bx-red .product-item-amount-field:focus{border-color:#da3737}.bx-red .catalog-section-header{border-color:#da3737}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border.png
new file mode 100644
index 0000000..e7b32cf
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border_active.png
new file mode 100644
index 0000000..7eb3fee
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.css
new file mode 100644
index 0000000..1094d99
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.css
@@ -0,0 +1,62 @@
+/* catalog.section */
+.bx_wood.bx-section-desc{
+ border-left-color:#0083d1;
+}
+.bx_catalog_list_home.bx_wood .bx_bt_button {
+ background:#00a2df;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwYTJkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDZmY2IiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#00a2df),color-stop(100%,#006fcb));
+ background:-webkit-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -moz-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -ms-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: -o-linear-gradient(top,#00a2df 0%,#006fcb 100%);
+ background: linear-gradient(to bottom,#00a2df 0%,#006fcb 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a2df',endColorstr='#006fcb',GradientType=0);
+
+ color:#fff;
+ text-shadow: 0 1px 0 #165c99;
+ display:inline-block;
+ border-radius:3px;
+ text-align:center;
+ text-decoration:none;
+ font-size:14px;
+ cursor:pointer;
+}
+.bx_catalog_list_home.bx_wood .bx_bt_button:hover {
+ background:#26b0e4;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzI2YjBlNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#26b0e4),color-stop(100%,#2684d3));
+ background:-webkit-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -moz-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -ms-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: -o-linear-gradient(top,#26b0e4 0%,#2684d3 100%);
+ background: linear-gradient(to bottom,#26b0e4 0%,#2684d3 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#26b0e4',endColorstr='#2684d3',GradientType=0 );
+}
+.bx_catalog_list_home.bx_wood .bx_bt_button:active {
+ background:#0052bf;
+ background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwNTJiZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDg1ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0052bf),color-stop(100%,#0085d3));
+ background:-webkit-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -moz-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -ms-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background: -o-linear-gradient(top,#0052bf 0%,#0085d3 100%);
+ background:linear-gradient(to bottom,#0052bf 0%,#0085d3 100%);
+ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#0052bf',endColorstr='#0085d3',GradientType=0 );
+}
+
+/* scu_detail_size */
+.bx-retina .bx_catalog_list_home.bx_wood .bx_item_detail_size ul li.bx_active .cnt{
+ -webkit-border-image: url(images/x2border_active.png) 2 stretch;
+ -moz-border-image: url(images/x2border_active.png) 2 stretch;
+ -o-border-image: url(images/x2border_active.png) 2 stretch;
+ border-image: url(images/x2border_active.png) 2 fill stretch;
+}
+
+/* scu_detail_scu */
+.bx-retina .bx_catalog_list_home.bx_wood .bx_item_detail_scu .bx_scu ul li.bx_active .cnt{
+ -webkit-border-image: url(images/x2border_active.png) 2 stretch;
+ -moz-border-image: url(images/x2border_active.png) 2 stretch;
+ -o-border-image: url(images/x2border_active.png) 2 stretch;
+ border-image: url(images/x2border_active.png) 2 fill stretch;
+}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.min.css
new file mode 100644
index 0000000..469534b
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/wood/style.min.css
@@ -0,0 +1 @@
+.bx_wood.bx-section-desc{border-left-color:#0083d1}.bx_catalog_list_home.bx_wood .bx_bt_button{background:#00a2df;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwYTJkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDZmY2IiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#00a2df),color-stop(100%,#006fcb));background:-webkit-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-moz-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-ms-linear-gradient(top,#00a2df 0,#006fcb 100%);background:-o-linear-gradient(top,#00a2df 0,#006fcb 100%);background:linear-gradient(to bottom,#00a2df 0,#006fcb 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00a2df',endColorstr='#006fcb',GradientType=0);color:#fff;text-shadow:0 1px 0 #165c99;display:inline-block;border-radius:3px;text-align:center;text-decoration:none;font-size:14px;cursor:pointer}.bx_catalog_list_home.bx_wood .bx_bt_button:hover{background:#26b0e4;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzI2YjBlNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMyNjg0ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#26b0e4),color-stop(100%,#2684d3));background:-webkit-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-moz-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-ms-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:-o-linear-gradient(top,#26b0e4 0,#2684d3 100%);background:linear-gradient(to bottom,#26b0e4 0,#2684d3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#26b0e4',endColorstr='#2684d3',GradientType=0)}.bx_catalog_list_home.bx_wood .bx_bt_button:active{background:#0052bf;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwNTJiZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDg1ZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0052bf),color-stop(100%,#0085d3));background:-webkit-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-moz-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-ms-linear-gradient(top,#0052bf 0,#0085d3 100%);background:-o-linear-gradient(top,#0052bf 0,#0085d3 100%);background:linear-gradient(to bottom,#0052bf 0,#0085d3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0052bf',endColorstr='#0085d3',GradientType=0)}.bx-retina .bx_catalog_list_home.bx_wood .bx_item_detail_size ul li.bx_active .cnt{-webkit-border-image:url(images/x2border_active.png) 2 stretch;-moz-border-image:url(images/x2border_active.png) 2 stretch;-o-border-image:url(images/x2border_active.png) 2 stretch;border-image:url(images/x2border_active.png) 2 fill stretch}.bx-retina .bx_catalog_list_home.bx_wood .bx_item_detail_scu .bx_scu ul li.bx_active .cnt{-webkit-border-image:url(images/x2border_active.png) 2 stretch;-moz-border-image:url(images/x2border_active.png) 2 stretch;-o-border-image:url(images/x2border_active.png) 2 stretch;border-image:url(images/x2border_active.png) 2 fill stretch}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border.png
new file mode 100644
index 0000000..e7b32cf
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border_active.png b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border_active.png
new file mode 100644
index 0000000..e107b68
Binary files /dev/null and b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/images/x2border_active.png differ
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.css
new file mode 100644
index 0000000..150a2b2
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.css
@@ -0,0 +1,26 @@
+/* catalog.section */
+
+/*
+#f4b236
+#f6c042
+#f7c95e
+#f9d857
+*/
+
+/* Slider */
+.bx-yellow .product-item-image-slider-progress-bar { background-color: #f9a91d;}
+.bx-yellow .product-item-image-slider-control:hover{ background-color: rgba(249,169,29,.8);}
+.bx-yellow .product-item-image-slider-control.active,
+.bx-yellow .product-item-image-slider-control:hover{ background-color: #f9a91d;}
+
+/* SCU */
+.bx-yellow .product-item-scu-item-text-block:hover,
+.bx-yellow .product-item-scu-item-color-block:hover,
+.bx-yellow .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,
+.bx-yellow .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{ outline-color: #f4b236;}
+
+/* Amount */
+.bx-yellow .product-item-amount-field:focus{border-color: #f4b236;}
+
+
+.bx-yellow .catalog-section-header{border-color:#f4b236;}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.min.css b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.min.css
new file mode 100644
index 0000000..e2c2ec0
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/bitrix/!catalog.section/cat_section/themes/yellow/style.min.css
@@ -0,0 +1 @@
+.bx-yellow .product-item-image-slider-progress-bar{background-color:#f9a91d}.bx-yellow .product-item-image-slider-control:hover{background-color:rgba(249,169,29,.8)}.bx-yellow .product-item-image-slider-control.active,.bx-yellow .product-item-image-slider-control:hover{background-color:#f9a91d}.bx-yellow .product-item-scu-item-text-block:hover,.bx-yellow .product-item-scu-item-color-block:hover,.bx-yellow .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,.bx-yellow .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{outline-color:#f4b236}.bx-yellow .product-item-amount-field:focus{border-color:#f4b236}.bx-yellow .catalog-section-header{border-color:#f4b236}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/catalog/main/section_page.php b/local/templates/.default/components/bitrix/catalog/main/section_page.php
new file mode 100644
index 0000000..bf6ace4
--- /dev/null
+++ b/local/templates/.default/components/bitrix/catalog/main/section_page.php
@@ -0,0 +1,80 @@
+setFrameMode(true);
+
+if (!isset($arParams['FILTER_VIEW_MODE']) || (string)$arParams['FILTER_VIEW_MODE'] == '')
+ $arParams['FILTER_VIEW_MODE'] = 'VERTICAL';
+$arParams['USE_FILTER'] = (isset($arParams['USE_FILTER']) && $arParams['USE_FILTER'] == 'Y' ? 'Y' : 'N');
+
+$isVerticalFilter = ('Y' == $arParams['USE_FILTER'] && $arParams["FILTER_VIEW_MODE"] == "VERTICAL");
+$isSidebar = ($arParams["SIDEBAR_SECTION_SHOW"] == "Y" && isset($arParams["SIDEBAR_PATH"]) && !empty($arParams["SIDEBAR_PATH"]));
+$isFilter = ($arParams['USE_FILTER'] == 'Y');
+
+if ($isFilter)
+{
+ $arFilter = array(
+ "IBLOCK_ID" => $arParams["IBLOCK_ID"],
+ "ACTIVE" => "Y",
+ "GLOBAL_ACTIVE" => "Y",
+ );
+ if (0 < intval($arResult["VARIABLES"]["SECTION_ID"]))
+ $arFilter["ID"] = $arResult["VARIABLES"]["SECTION_ID"];
+ elseif ('' != $arResult["VARIABLES"]["SECTION_CODE"])
+ $arFilter["=CODE"] = $arResult["VARIABLES"]["SECTION_CODE"];
+
+ $obCache = new CPHPCache();
+ if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog"))
+ {
+ $arCurSection = $obCache->GetVars();
+ }
+ elseif ($obCache->StartDataCache())
+ {
+ $arCurSection = array();
+ if (Loader::includeModule("iblock"))
+ {
+ $dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID"));
+
+ if(defined("BX_COMP_MANAGED_CACHE"))
+ {
+ global $CACHE_MANAGER;
+ $CACHE_MANAGER->StartTagCache("/iblock/catalog");
+
+ if ($arCurSection = $dbRes->Fetch())
+ $CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]);
+
+ $CACHE_MANAGER->EndTagCache();
+ }
+ else
+ {
+ if(!$arCurSection = $dbRes->Fetch())
+ $arCurSection = array();
+ }
+ }
+ $obCache->EndDataCache($arCurSection);
+ }
+ if (!isset($arCurSection))
+ $arCurSection = array();
+}
+
+// Добавляем номер страницы в заголовок
+if (isset($arResult["VARIABLES"]["PAGE"]) && intval($arResult["VARIABLES"]["PAGE"]) > 1) {
+ $APPLICATION->SetPageProperty("title", $APPLICATION->GetTitle() . " - страница " . $arResult["VARIABLES"]["PAGE"]);
+ $APPLICATION->SetTitle($APPLICATION->GetTitle() . " - страница " . $arResult["VARIABLES"]["PAGE"]);
+}
+?>
+
+ include($_SERVER["DOCUMENT_ROOT"] . "/" . $this->GetFolder() . "/section_vertical.php");
+?>
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/.parameters.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/.parameters.php
new file mode 100644
index 0000000..b941f61
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/.parameters.php
@@ -0,0 +1,33 @@
+ GetMessage("F_THEME_BLUE"),
+ "wood" => GetMessage("F_THEME_WOOD"),
+ "yellow" => GetMessage("F_THEME_YELLOW"),
+ "green" => GetMessage("F_THEME_GREEN"),
+ "red" => GetMessage("F_THEME_RED"),
+ "black" => GetMessage("F_THEME_BLACK")
+);
+$dir = trim(preg_replace("'[\\\\/]+'", "/", __DIR__."/themes/"));
+if (is_dir($dir) && $directory = opendir($dir))
+{
+ while (($file = readdir($directory)) !== false)
+ {
+ if ($file != "." && $file != ".." && is_dir($dir.$file))
+ $arThemes[$file] = (!empty($arThemesMessages[$file]) ? $arThemesMessages[$file] : mb_strtoupper(mb_substr($file, 0, 1)).mb_strtolower(mb_substr($file, 1)));
+ }
+ closedir($directory);
+}
+$arTemplateParameters = array(
+ "MENU_THEME"=>array(
+ "NAME" => GetMessage("MENU_THEME"),
+ "TYPE" => "LIST",
+ "VALUES" => $arThemes,
+ "PARENT" => "BASE",
+ )
+);
+?>
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/images/spacer.png b/local/templates/.default/components/bitrix/menu/catalog_left_menu/images/spacer.png
new file mode 100644
index 0000000..52456a6
Binary files /dev/null and b/local/templates/.default/components/bitrix/menu/catalog_left_menu/images/spacer.png differ
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/de/.parameters.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/de/.parameters.php
new file mode 100644
index 0000000..2dfe572
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/de/.parameters.php
@@ -0,0 +1,10 @@
+
+$MESS["MENU_THEME"] = "Menü-Farbschema";
+$MESS["F_THEME_SITE"] = "Use site theme (for bitrix.eshop)";
+$MESS["F_THEME_BLUE"] = "Blau";
+$MESS["F_THEME_WOOD"] = "Holz";
+$MESS["F_THEME_YELLOW"] = "Gelb";
+$MESS["F_THEME_GREEN"] = "Grün";
+$MESS["F_THEME_RED"] = "Rot";
+$MESS["F_THEME_BLACK"] = "Dunkel";
+?>
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/en/.parameters.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/en/.parameters.php
new file mode 100644
index 0000000..a87cc39
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/en/.parameters.php
@@ -0,0 +1,10 @@
+
+$MESS["MENU_THEME"] = "Menu theme";
+$MESS["F_THEME_SITE"] = "Use site theme (for bitrix.eshop)";
+$MESS["F_THEME_BLUE"] = "Blue";
+$MESS["F_THEME_WOOD"] = "Bark";
+$MESS["F_THEME_YELLOW"] = "Yellow";
+$MESS["F_THEME_GREEN"] = "Green";
+$MESS["F_THEME_RED"] = "Red";
+$MESS["F_THEME_BLACK"] = "Dark";
+?>
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/ru/.parameters.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/ru/.parameters.php
new file mode 100644
index 0000000..ad72a12
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/lang/ru/.parameters.php
@@ -0,0 +1,10 @@
+
+$MESS["MENU_THEME"] = "Тема меню";
+$MESS["F_THEME_SITE"] = "Брать тему из настроек сайта (для решения bitrix.eshop)";
+$MESS["F_THEME_BLUE"] = "Синяя";
+$MESS["F_THEME_WOOD"] = "Дерево";
+$MESS["F_THEME_YELLOW"] = "Желтая";
+$MESS["F_THEME_GREEN"] = "Зеленая";
+$MESS["F_THEME_RED"] = "Красная";
+$MESS["F_THEME_BLACK"] = "Темная";
+?>
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/result_modifier.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/result_modifier.php
new file mode 100644
index 0000000..d722ad7
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/result_modifier.php
@@ -0,0 +1,254 @@
+$arLevels2)
+ {
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] || !$arAllItems[$itemIdLevel_1]["PARAMS"]["description"])
+ {
+ foreach($arLevels2 as $itemIdLevel_2=>$arLevels3)
+ {
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] && $arAllItems[$itemIdLevel_2]["PARAMS"]["picture_src"])
+ {
+ $arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] = $arAllItems[$itemIdLevel_2]["PARAMS"]["picture_src"];
+ }
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["description"] && $arAllItems[$itemIdLevel_2]["PARAMS"]["description"])
+ {
+ $arAllItems[$itemIdLevel_1]["PARAMS"]["description"] = $arAllItems[$itemIdLevel_2]["PARAMS"]["description"];
+ }
+ if ($arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] && $arAllItems[$itemIdLevel_1]["PARAMS"]["description"])
+ break;
+ }
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] || !$arAllItems[$itemIdLevel_1]["PARAMS"]["description"])
+ {
+ foreach($arLevels2 as $itemIdLevel_2=>$arLevels3)
+ {
+ foreach($arLevels3 as $itemIdLevel_3)
+ {
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] && $arAllItems[$itemIdLevel_3]["PARAMS"]["picture_src"])
+ {
+ $arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] = $arAllItems[$itemIdLevel_3]["PARAMS"]["picture_src"];
+ }
+ if (!$arAllItems[$itemIdLevel_1]["PARAMS"]["description"] && $arAllItems[$itemIdLevel_3]["PARAMS"]["description"])
+ {
+ $arAllItems[$itemIdLevel_1]["PARAMS"]["description"] = $arAllItems[$itemIdLevel_3]["PARAMS"]["description"];
+ }
+ if ($arAllItems[$itemIdLevel_1]["PARAMS"]["picture_src"] && $arAllItems[$itemIdLevel_1]["PARAMS"]["description"])
+ {
+ break 2;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ $pictureLevel_1 = "";
+ $descriptionLevel_1 = "";
+ $pictureLevel_2 = "";
+ $descriptionLevel_2 = "";
+
+ foreach($arAllItems as $itemID=>$arItem)
+ {
+ if ($arItem["DEPTH_LEVEL"] == "1")
+ {
+ if ($arItem["IS_PARENT"])
+ {
+ $pictureLevel_1 = $arItem["PARAMS"]["picture_src"];
+ $descriptionLevel_1 = $arItem["PARAMS"]["description"];
+ }
+ $arAllItems[$itemID] = $arItem;
+ }
+ elseif($arItem["DEPTH_LEVEL"] == "2")
+ {
+ if (!$arItem["PARAMS"]["picture_src"])
+ $arItem["PARAMS"]["picture_src"] = $pictureLevel_1;
+ if (!$arItem["PARAMS"]["description"])
+ $arItem["PARAMS"]["description"] = $descriptionLevel_1;
+ if ($arItem["IS_PARENT"])
+ {
+ $pictureLevel_2 = $arItem["PARAMS"]["picture_src"];
+ $descriptionLevel_2 = $arItem["PARAMS"]["description"];
+ }
+ $arAllItems[$itemID] = $arItem;
+ }
+ elseif($arItem["DEPTH_LEVEL"] == "3")
+ {
+ if (!$arItem["PARAMS"]["picture_src"])
+ $arItem["PARAMS"]["picture_src"] = $pictureLevel_2;
+ if (!$arItem["PARAMS"]["description"])
+ $arItem["PARAMS"]["description"] = $descriptionLevel_2;
+ $arAllItems[$itemID] = $arItem;
+ }
+ }
+ }
+}
+
+$arSectionsInfo = array();
+if (CModule::IncludeModule("iblock"))
+{
+ $arFilter = array(
+ "TYPE"=>"catalog",
+ "SITE_ID"=>SITE_ID,
+ "ACTIVE" => "Y"
+ );
+
+ $obCache = new CPHPCache();
+ if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/menu"))
+ {
+ $arSectionsInfo = $obCache->GetVars();
+ }
+ elseif ($obCache->StartDataCache())
+ {
+ $dbIBlock = CIBlock::GetList(array('SORT' => 'ASC', 'ID' => 'ASC'), $arFilter);
+ $dbIBlock = new CIBlockResult($dbIBlock);
+ $curIblockID = 0;
+ if ($arIBlock = $dbIBlock->GetNext())
+ {
+ $dbSections = CIBlockSection::GetList(array(), array("IBLOCK_ID" => $arIBlock["ID"]), false, array("ID", "SECTION_PAGE_URL", "PICTURE", "DESCRIPTION"));
+ while($arSections = $dbSections->GetNext())
+ {
+ $pictureSrc = CFile::GetFileArray($arSections["PICTURE"]);
+
+ if ($pictureSrc)
+ $arResizePicture = CFile::ResizeImageGet(
+ $arSections["PICTURE"],
+ array("width" => 240, 'height'=>700),
+ BX_RESIZE_IMAGE_PROPORTIONAL,
+ true
+ );
+
+ $arSectionsInfo[crc32($arSections["SECTION_PAGE_URL"])]["PICTURE"] = $pictureSrc ? $arResizePicture["src"] : false;
+ $arSectionsInfo[crc32($arSections["SECTION_PAGE_URL"])]["DESCRIPTION"] = $arSections["DESCRIPTION"];
+ }
+ if(defined("BX_COMP_MANAGED_CACHE"))
+ {
+ global $CACHE_MANAGER;
+ $CACHE_MANAGER->StartTagCache("/iblock/menu");
+ $CACHE_MANAGER->RegisterTag("iblock_id_".$arIBlock["ID"]);
+ $CACHE_MANAGER->EndTagCache();
+ }
+ }
+ $obCache->EndDataCache($arSectionsInfo);
+ }
+}
+
+$arMenuItemsIDs = array();
+$arAllItems = array();
+foreach($arResult as $key=>$arItem)
+{
+ if($arItem["DEPTH_LEVEL"] > $arParams["MAX_LEVEL"])
+ {
+ unset($arResult[$key]);
+ continue;
+ }
+
+ $arItem["PARAMS"]["item_id"] = crc32($arItem["LINK"]);
+ $arItem["PARAMS"]["picture_src"] = $arSectionsInfo[$arItem["PARAMS"]["item_id"]]["PICTURE"];
+ $arItem["PARAMS"]["description"] = $arSectionsInfo[$arItem["PARAMS"]["item_id"]]["DESCRIPTION"];
+
+ if ($arItem["DEPTH_LEVEL"] == "1")
+ {
+ $arMenuItemsIDs[$arItem["PARAMS"]["item_id"]] = array();
+ if ($arItem["IS_PARENT"])
+ {
+ $curItemLevel_1 = $arItem["PARAMS"]["item_id"];
+ }
+ $arAllItems[$arItem["PARAMS"]["item_id"]] = $arItem;
+ }
+ elseif($arItem["DEPTH_LEVEL"] == "2")
+ {
+ $arMenuItemsIDs[$curItemLevel_1][$arItem["PARAMS"]["item_id"]] = array();
+ if ($arItem["IS_PARENT"])
+ {
+ $curItemLevel_2 = $arItem["PARAMS"]["item_id"];
+ }
+ $arAllItems[$arItem["PARAMS"]["item_id"]] = $arItem;
+ }
+ elseif($arItem["DEPTH_LEVEL"] == "3")
+ {
+ $arMenuItemsIDs[$curItemLevel_1][$curItemLevel_2][] = $arItem["PARAMS"]["item_id"];
+ $arAllItems[$arItem["PARAMS"]["item_id"]] = $arItem;
+ }
+}
+
+FillAllPicturesAndDescriptionsVertical($arAllItems, $arMenuItemsIDs);
+
+$arMenuStructure = array();
+foreach ($arMenuItemsIDs as $itemIdLevel_1=>$arLevels2)
+{
+ $countItemsInRow = 18;
+ $arMenuStructure[$itemIdLevel_1] = array();
+ $countLevels2 = count($arLevels2);
+
+ if ($countLevels2 > 0)
+ {
+ for ($i=1; $i<=3; $i++)
+ {
+ $sumElementsInRow = 0;
+ foreach($arLevels2 as $itemIdLevel_2=>$arLevels3)
+ {
+ $sumElementsInRow+= count($arLevels3) + 1;
+ $arMenuStructure[$itemIdLevel_1][$i][$itemIdLevel_2] = $arLevels3;
+ if ($sumElementsInRow > $countItemsInRow)
+ $countItemsInRow = $sumElementsInRow;
+
+ unset($arLevels2[$itemIdLevel_2]);
+ $tmpCount = 0;
+ foreach($arLevels2 as $tmpItemIdLevel_2=>$arTmpLevels3)
+ {
+ $tmpCount+= 1 + count($arTmpLevels3);
+ }
+
+ if ($tmpCount <= $countItemsInRow*(3-$i) && $countItemsInRow<=$sumElementsInRow)
+ break;
+ }
+ }
+ }
+}
+
+$arResult = array();
+$arResult["ALL_ITEMS"] = $arAllItems;
+$arResult["ALL_ITEMS_ID"] = $arMenuItemsIDs;
+$arResult["MENU_STRUCTURE"] = $arMenuStructure;
+?>
+
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.js b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.js
new file mode 100644
index 0000000..b9466ba
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.js
@@ -0,0 +1,124 @@
+(function(window) {
+
+ if (!window.BX || BX.CatalogVertMenu)
+ return;
+
+ BX.CatalogVertMenu = {
+ items : {},
+ idCnt : 1,
+ currentItem : null,
+ overItem : null,
+ outItem : null,
+ timeoutOver : null,
+ timeoutOut : null,
+
+ getItem : function(item)
+ {
+ if (!BX.type.isDomNode(item))
+ return null;
+
+ var id = !item.id || !BX.type.isNotEmptyString(item.id) ? (item.id = "menu-item-vert-" + this.idCnt++) : item.id;
+
+ if (!this.items[id])
+ this.items[id] = new CatalogVertMenuItem(item);
+
+ return this.items[id];
+ },
+
+ itemOver : function(item)
+ {
+ var menuItem = this.getItem(item);
+ if (!menuItem)
+ return;
+
+ if (this.outItem == menuItem)
+ {
+ clearTimeout(menuItem.timeoutOut);
+ }
+
+ this.overItem = menuItem;
+
+ if (menuItem.timeoutOver)
+ {
+ clearTimeout(menuItem.timeoutOver);
+ }
+
+ menuItem.timeoutOver = setTimeout(function() {
+ if (BX.CatalogVertMenu.overItem == menuItem)
+ {
+ menuItem.itemOver();
+ }
+ }, 100);
+ },
+
+ itemOut : function(item)
+ {
+ var menuItem = this.getItem(item);
+ if (!menuItem)
+ return;
+
+ this.outItem = menuItem;
+
+ if (menuItem.timeoutOut)
+ {
+ clearTimeout(menuItem.timeoutOut);
+ }
+
+ menuItem.timeoutOut = setTimeout(function() {
+
+ if (menuItem != BX.CatalogVertMenu.overItem)
+ {
+ menuItem.itemOut();
+ }
+ if (menuItem == BX.CatalogVertMenu.outItem)
+ {
+ menuItem.itemOut();
+ }
+
+ }, 100);
+ },
+
+ changeSectionPicture : function(element)
+ {
+ var descrSpan = BX.nextSibling(element);
+ var curDescr = descrSpan.innerHTML || '';
+ if (descrSpan)
+ {
+ var curImgWrapObj = BX.nextSibling(descrSpan);
+ var curImgObj = BX.clone(BX.firstChild(curImgWrapObj));
+ }
+ var parentObj = BX.hasClass(element, 'bx_hma_one_lvl') ? element : BX.findParent(element, {className:'bx_hma_one_lvl'});
+ var sectionImgObj = BX.findChild(parentObj, {className:'bx_section_picture'}, true, false);
+ sectionImgObj.innerHTML = "";
+ if (curImgObj)
+ {
+ sectionImgObj.appendChild(curImgObj);
+ }
+ var sectionDescrObj = BX.findChild(parentObj, {className:'bx_section_description'}, true, false);
+ sectionDescrObj.innerHTML = curDescr;
+ BX.previousSibling(sectionDescrObj).innerHTML = element.innerHTML;
+ sectionImgObj.parentNode.href = element.href;
+ }
+ };
+
+ var CatalogVertMenuItem = function(item)
+ {
+ this.element = item;
+ this.popup = BX.findChild(item, { className: "bx_children_container" }, false, false);
+ };
+
+ CatalogVertMenuItem.prototype.itemOver = function()
+ {
+ if (!BX.hasClass(this.element, "hover"))
+ {
+ BX.addClass(this.element, "hover");
+ }
+ };
+
+ CatalogVertMenuItem.prototype.itemOut = function()
+ {
+ BX.removeClass(this.element, "hover");
+ };
+
+})(window);
+
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.map.js b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.map.js
new file mode 100644
index 0000000..8e3a057
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.map.js
@@ -0,0 +1 @@
+{"version":3,"file":"script.min.js","sources":["script.js"],"names":["window","BX","CatalogVertMenu","items","idCnt","currentItem","overItem","outItem","timeoutOver","timeoutOut","getItem","item","type","isDomNode","id","isNotEmptyString","this","CatalogVertMenuItem","itemOver","menuItem","clearTimeout","setTimeout","itemOut","changeSectionPicture","element","descrSpan","nextSibling","curDescr","innerHTML","curImgWrapObj","curImgObj","clone","firstChild","parentObj","hasClass","findParent","className","sectionImgObj","findChild","appendChild","sectionDescrObj","previousSibling","parentNode","href","popup","prototype","addClass","removeClass"],"mappings":"CAAA,SAAUA,GAET,IAAKA,EAAOC,IAAMA,GAAGC,gBACpB,MAEDD,IAAGC,iBACFC,SACAC,MAAQ,EACRC,YAAc,KACdC,SAAW,KACXC,QAAU,KACVC,YAAc,KACdC,WAAa,KAEbC,QAAU,SAASC,GAElB,IAAKV,GAAGW,KAAKC,UAAUF,GACtB,MAAO,KAER,IAAIG,IAAMH,EAAKG,KAAOb,GAAGW,KAAKG,iBAAiBJ,EAAKG,IAAOH,EAAKG,GAAK,kBAAoBE,KAAKZ,QAAWO,EAAKG,EAE9G,KAAKE,KAAKb,MAAMW,GACfE,KAAKb,MAAMW,GAAM,GAAIG,GAAoBN,EAE1C,OAAOK,MAAKb,MAAMW,IAGnBI,SAAW,SAASP,GAEnB,GAAIQ,GAAWH,KAAKN,QAAQC,EAC5B,KAAKQ,EACJ,MAED,IAAIH,KAAKT,SAAWY,EACpB,CACCC,aAAaD,EAASV,YAGvBO,KAAKV,SAAWa,CAEhB,IAAIA,EAASX,YACb,CACCY,aAAaD,EAASX,aAGvBW,EAASX,YAAca,WAAW,WACjC,GAAIpB,GAAGC,gBAAgBI,UAAYa,EACnC,CACCA,EAASD,aAER,MAGJI,QAAU,SAASX,GAElB,GAAIQ,GAAWH,KAAKN,QAAQC,EAC5B,KAAKQ,EACJ,MAEDH,MAAKT,QAAUY,CAEf,IAAIA,EAASV,WACb,CACCW,aAAaD,EAASV,YAGvBU,EAASV,WAAaY,WAAW,WAEhC,GAAIF,GAAYlB,GAAGC,gBAAgBI,SACnC,CACCa,EAASG,UAEV,GAAIH,GAAYlB,GAAGC,gBAAgBK,QACnC,CACCY,EAASG,YAGR,MAGJC,qBAAuB,SAASC,GAE/B,GAAIC,GAAYxB,GAAGyB,YAAYF,EAC/B,IAAIG,GAAWF,EAAUG,WAAa,EACtC,IAAIH,EACJ,CACC,GAAII,GAAgB5B,GAAGyB,YAAYD,EACnC,IAAIK,GAAY7B,GAAG8B,MAAM9B,GAAG+B,WAAWH,IAExC,GAAII,GAAYhC,GAAGiC,SAASV,EAAS,kBAAoBA,EAAUvB,GAAGkC,WAAWX,GAAUY,UAAU,kBACrG,IAAIC,GAAgBpC,GAAGqC,UAAUL,GAAYG,UAAU,sBAAuB,KAAM,MACpFC,GAAcT,UAAY,EAC1B,IAAIE,EACJ,CACCO,EAAcE,YAAYT,GAE3B,GAAIU,GAAkBvC,GAAGqC,UAAUL,GAAYG,UAAU,0BAA2B,KAAM,MAC1FI,GAAgBZ,UAAYD,CAC5B1B,IAAGwC,gBAAgBD,GAAiBZ,UAAYJ,EAAQI,SACxDS,GAAcK,WAAWC,KAAOnB,EAAQmB,MAI1C,IAAI1B,GAAsB,SAASN,GAElCK,KAAKQ,QAAUb,CACfK,MAAK4B,MAAQ3C,GAAGqC,UAAU3B,GAAQyB,UAAW,yBAA2B,MAAO,OAGhFnB,GAAoB4B,UAAU3B,SAAW,WAExC,IAAKjB,GAAGiC,SAASlB,KAAKQ,QAAS,SAC/B,CACCvB,GAAG6C,SAAS9B,KAAKQ,QAAS,UAI5BP,GAAoB4B,UAAUvB,QAAU,WAEvCrB,GAAG8C,YAAY/B,KAAKQ,QAAS,YAG5BxB"}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.min.js b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.min.js
new file mode 100644
index 0000000..cb81fb0
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/script.min.js
@@ -0,0 +1,2 @@
+(function(t){if(!t.BX||BX.CatalogVertMenu)return;BX.CatalogVertMenu={items:{},idCnt:1,currentItem:null,overItem:null,outItem:null,timeoutOver:null,timeoutOut:null,getItem:function(t){if(!BX.type.isDomNode(t))return null;var i=!t.id||!BX.type.isNotEmptyString(t.id)?t.id="menu-item-vert-"+this.idCnt++:t.id;if(!this.items[i])this.items[i]=new e(t);return this.items[i]},itemOver:function(t){var e=this.getItem(t);if(!e)return;if(this.outItem==e){clearTimeout(e.timeoutOut)}this.overItem=e;if(e.timeoutOver){clearTimeout(e.timeoutOver)}e.timeoutOver=setTimeout(function(){if(BX.CatalogVertMenu.overItem==e){e.itemOver()}},100)},itemOut:function(t){var e=this.getItem(t);if(!e)return;this.outItem=e;if(e.timeoutOut){clearTimeout(e.timeoutOut)}e.timeoutOut=setTimeout(function(){if(e!=BX.CatalogVertMenu.overItem){e.itemOut()}if(e==BX.CatalogVertMenu.outItem){e.itemOut()}},100)},changeSectionPicture:function(t){var e=BX.nextSibling(t);var i=e.innerHTML||"";if(e){var n=BX.nextSibling(e);var r=BX.clone(BX.firstChild(n))}var u=BX.hasClass(t,"bx_hma_one_lvl")?t:BX.findParent(t,{className:"bx_hma_one_lvl"});var o=BX.findChild(u,{className:"bx_section_picture"},true,false);o.innerHTML="";if(r){o.appendChild(r)}var m=BX.findChild(u,{className:"bx_section_description"},true,false);m.innerHTML=i;BX.previousSibling(m).innerHTML=t.innerHTML;o.parentNode.href=t.href}};var e=function(t){this.element=t;this.popup=BX.findChild(t,{className:"bx_children_container"},false,false)};e.prototype.itemOver=function(){if(!BX.hasClass(this.element,"hover")){BX.addClass(this.element,"hover")}};e.prototype.itemOut=function(){BX.removeClass(this.element,"hover")}})(window);
+//# sourceMappingURL=script.map.js
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.css b/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.css
new file mode 100644
index 0000000..e1aafd0
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.css
@@ -0,0 +1,222 @@
+.bx_vertical_menu_advanced{
+ border-left:7px solid #e3eaef;
+ background:#f1f4f7;
+ border-radius:4px;
+ position:relative;
+ box-shadow:0 0 1px 1px #dcdcdc;
+}
+.bx_vertical_menu_advanced>ul{
+ display:block;
+ margin:0 0 10px 0;
+ padding:0;
+ width:100%;
+ border-radius:5px;
+ background:#fff;
+ list-style:none;
+}
+
+/* 1 уровень */
+.bx_vertical_menu_advanced .bx_hma_one_lvl{
+ display:block;
+ padding:0;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl>a{
+ position:relative;
+ z-index:105;
+ display:block;
+ padding:10px 0 10px 12px;
+ border-bottom: 1px solid #e3eaef;
+ color:#000;
+ vertical-align:middle;
+ text-align:left;
+ text-decoration:none;
+ text-shadow:0 1px 1px rgba(255,255,255,.8);
+ font-size:14px;
+ line-height:16px;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl:first-child,
+.bx_vertical_menu_advanced .bx_hma_one_lvl:first-child>a{border-radius:0 4px 0 0}
+.bx_vertical_menu_advanced .bx_hma_one_lvl:last-child,
+.bx_vertical_menu_advanced .bx_hma_one_lvl:last-child>a {border-radius:0 0 4px 0}
+.bx_vertical_menu_advanced ul:last-child .bx_hma_one_lvl:last-child>a{border-bottom:none}
+
+.bx_vertical_menu_advanced .bx_hma_one_lvl>a{
+ -webkit-transition: border-color 0s ease;
+ -moz-transition: border-color 0s ease;
+ -o-transition: border-color 0s ease;
+ -ms-transition: border-color 0s ease;
+ transition: border-color 0s ease;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl.hover{
+ padding:1px 0 0;
+ border:none;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl.hover>a{
+ margin-left:-11px;
+ padding:10px 0 10px 12px;
+ width:100%;
+ border:none;
+ border-right:2px;
+ background:#fff;
+ box-shadow:-1px 2px 3px 0px rgba(1,1,1,.22);
+ font-weight:bold;
+ line-height:16px;
+ box-sizing:content-box;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl.dropdown.hover{}
+.bx_vertical_menu_advanced .bx_hma_one_lvl.dropdown.hover>a{z-index:1500}
+
+.bx_vertical_menu_advanced .bx_hma_one_lvl>a:active,
+.bx_vertical_menu_advanced .bx_hma_one_lvl.current>a{}
+/* // 1й уровень */
+/* Контейнер*/
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container{
+ position:absolute;
+ top:-1px;
+ left:100%;
+ z-index:1300;
+ display:none;
+ overflow:hidden;
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ border-top:1px solid rgba(1,1,1,.1);
+ border-radius:2px;
+ background:#fff;
+ box-shadow:0 5px 10px 0 rgba(1,1,1,.29);
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl.hover .bx_children_container{display:block}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block{
+ float:left;
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ margin-bottom:-20000px;
+ padding:10px 12px;
+ padding-bottom:20000px;
+ min-width:130px;
+ max-width:280px;
+ border-left:1px solid #f2f2f2;
+ background:#fff;
+}
+.bx_shadow_fix{display:none}
+.bx_vertical_menu_advanced .dropdown:hover .bx_shadow_fix,
+.bx_vertical_menu_advanced .dropdown.hover .bx_shadow_fix{
+ position: absolute;
+ top: -1px;
+ right: -2px;
+ bottom: 0;
+ z-index: 1500;
+ display: block;
+ width: 5px;
+ background: #fff;
+ opacity: 1;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b1{min-width:180px}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b2{min-width:360px}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b3{min-width:540px}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b4{min-width:720px}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block:first-child{border-left:none}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b1 .bx_children_block{width:100%}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b2 .bx_children_block{width:50%}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b3 .bx_children_block{width:33.3%}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b4 .bx_children_block{width:25%}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block.advanced{
+ border-left:none;
+ background:#f7fafb;
+ box-shadow:inset 5px 0 7px -5px rgba(0,0,0,.12);
+}
+/*// Контейнер*/
+/* 2й уровень*/
+.bx_vertical_menu_advanced .bx_hma_one_lvl ul{
+ display:block;
+ margin:0;
+ padding:0 0 14px 0;
+ list-style:none;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel {
+ display: none;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-align: center;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent>a{
+ display:block;
+ padding:5px 10px;
+}
+
+/*.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent>a:hover{
+ color: #366181;
+}*/
+/* //2й уровень*/
+/* 3й уровень */
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul{border-bottom:1px solid #f2f2f2}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent:last-child ul{border-bottom:none}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul li{line-height:24px}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul a{
+ display:block;
+ padding:5px 10px;
+}
+/*.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul a:hover{
+ background:#f0f6f8;
+ box-shadow:inset 0 1px 1px 0 #e3e9eb;
+}*/
+/* // 3й уровень */
+
+/* Панель */
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_advanced_panel{
+ display:none;
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ text-align:center;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_block.advanced .bx_children_advanced_panel{display:block !important}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel img{
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ max-width:100%;
+ max-height:220px;
+ border:1px solid #e7e9ea;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel .bx_item_description{
+ max-width:100%;
+ max-height:220px;
+ color:#000;
+ text-align:left;
+ white-space:normal;
+ font-weight:normal;
+ font-size:12px;
+ line-height:18px;
+}
+
+/* // Панель*/
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block>ul>li{
+ display:block;
+ background:#fff;
+}
+.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block>ul>li>a{
+ display:block;
+ color:#20394c;
+ text-decoration:none;
+ font-weight:bold;
+ font-size:15px;
+ line-height:23px;
+}
+
+.bx_vertical_menu_advanced .bx_hma_one_lvl ul li ul li a{
+ color:#000;
+ text-decoration:none;
+ font-size:13px;
+ line-height:16px;
+}
+
+@media (max-width:569px) {
+ .bx_vertical_menu_advanced{display:none}
+ .header_inner_bottom_line{
+ overflow:hidden;
+ height:auto;
+ }
+}
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.min.css b/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.min.css
new file mode 100644
index 0000000..b62627d
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/style.min.css
@@ -0,0 +1 @@
+.bx_vertical_menu_advanced{border-left:7px solid #e3eaef;background:#f1f4f7;border-radius:4px;position:relative;box-shadow:0 0 1px 1px #dcdcdc}.bx_vertical_menu_advanced>ul{display:block;margin:0 0 10px 0;padding:0;width:100%;border-radius:5px;background:#fff;list-style:none}.bx_vertical_menu_advanced .bx_hma_one_lvl{display:block;padding:0}.bx_vertical_menu_advanced .bx_hma_one_lvl>a{position:relative;z-index:105;display:block;padding:10px 0 10px 12px;border-bottom:1px solid #e3eaef;color:#000;vertical-align:middle;text-align:left;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,.8);font-size:14px;line-height:16px}.bx_vertical_menu_advanced .bx_hma_one_lvl:first-child,.bx_vertical_menu_advanced .bx_hma_one_lvl:first-child>a{border-radius:0 4px 0 0}.bx_vertical_menu_advanced .bx_hma_one_lvl:last-child,.bx_vertical_menu_advanced .bx_hma_one_lvl:last-child>a{border-radius:0 0 4px 0}.bx_vertical_menu_advanced ul:last-child .bx_hma_one_lvl:last-child>a{border-bottom:0}.bx_vertical_menu_advanced .bx_hma_one_lvl>a{-webkit-transition:border-color 0 ease;-moz-transition:border-color 0 ease;-o-transition:border-color 0 ease;-ms-transition:border-color 0 ease;transition:border-color 0 ease}.bx_vertical_menu_advanced .bx_hma_one_lvl.hover{padding:1px 0 0;border:0}.bx_vertical_menu_advanced .bx_hma_one_lvl.hover>a{margin-left:-11px;padding:10px 0 10px 12px;width:100%;border:0;border-right:2px;background:#fff;box-shadow:-1px 2px 3px 0 rgba(1,1,1,.22);font-weight:bold;line-height:16px;box-sizing:content-box}.bx_vertical_menu_advanced .bx_hma_one_lvl.dropdown.hover>a{z-index:1500}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container{position:absolute;top:-1px;left:100%;z-index:1300;display:none;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid rgba(1,1,1,.1);border-radius:2px;background:#fff;box-shadow:0 5px 10px 0 rgba(1,1,1,.29)}.bx_vertical_menu_advanced .bx_hma_one_lvl.hover .bx_children_container{display:block}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:-20000px;padding:10px 12px;padding-bottom:20000px;min-width:130px;max-width:280px;border-left:1px solid #f2f2f2;background:#fff}.bx_shadow_fix{display:none}.bx_vertical_menu_advanced .dropdown:hover .bx_shadow_fix,.bx_vertical_menu_advanced .dropdown.hover .bx_shadow_fix{position:absolute;top:-1px;right:-2px;bottom:0;z-index:1500;display:block;width:5px;background:#fff;opacity:1}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b1{min-width:180px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b2{min-width:360px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b3{min-width:540px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b4{min-width:720px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block:first-child{border-left:0}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b1 .bx_children_block{width:100%}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b2 .bx_children_block{width:50%}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b3 .bx_children_block{width:33.3%}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container.b4 .bx_children_block{width:25%}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block.advanced{border-left:0;background:#f7fafb;box-shadow:inset 5px 0 7px -5px rgba(0,0,0,.12)}.bx_vertical_menu_advanced .bx_hma_one_lvl ul{display:block;margin:0;padding:0 0 14px 0;list-style:none}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel{display:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent>a{display:block;padding:5px 10px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul{border-bottom:1px solid #f2f2f2}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent:last-child ul{border-bottom:0}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul li{line-height:24px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block li.parent ul a{display:block;padding:5px 10px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_advanced_panel{display:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_block.advanced .bx_children_advanced_panel{display:block !important}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%;max-height:220px;border:1px solid #e7e9ea}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_advanced_panel .bx_item_description{max-width:100%;max-height:220px;color:#000;text-align:left;white-space:normal;font-weight:normal;font-size:12px;line-height:18px}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block>ul>li{display:block;background:#fff}.bx_vertical_menu_advanced .bx_hma_one_lvl .bx_children_container .bx_children_block>ul>li>a{display:block;color:#20394c;text-decoration:none;font-weight:bold;font-size:15px;line-height:23px}.bx_vertical_menu_advanced .bx_hma_one_lvl ul li ul li a{color:#000;text-decoration:none;font-size:13px;line-height:16px}@media(max-width:569px){.bx_vertical_menu_advanced{display:none}.header_inner_bottom_line{overflow:hidden;height:auto}}
\ No newline at end of file
diff --git a/local/templates/.default/components/bitrix/menu/catalog_left_menu/template.php b/local/templates/.default/components/bitrix/menu/catalog_left_menu/template.php
new file mode 100644
index 0000000..b171908
--- /dev/null
+++ b/local/templates/.default/components/bitrix/menu/catalog_left_menu/template.php
@@ -0,0 +1,48 @@
+GetFolder().'/themes/'.$arParams["MENU_THEME"].'/colors.css'))
+ $APPLICATION->SetAdditionalCSS($this->GetFolder().'/themes/'.$arParams["MENU_THEME"].'/colors.css');
+
+CJSCore::Init();
+
+$menuBlockId = "catalog_menu_".$this->randString();
+//debug($arResult);
+?>
+
+