Как можно задебажить? Что может не так работать?
if($arCurrentValues["FILTER_VIEW_MODE"] == 'horizontal') {
$arTemplateParameters['COLUMNS'] = array(
'PARENT' => 'VISUAL',
'NAME' => 'Количество колонок', // выносишь в lang
'TYPE' => 'LIST',
'VALUES' => array(
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 5,
),
'DEFAULT' => '5',
);
}
$arCurrentValues["FILTER_VIEW_MODE"] == 'horizontal'
так как для вертикального отображения этот параметр не нужен, а параметр FILTER_VIEW_MODE имеет флаг REFRESH, то при смене этого параметра, твой параметр будет появляться и исчезать соответственно.<div class="<?if ($arParams["FILTER_VIEW_MODE"] == "HORIZONTAL"):?>col-sm-6 col-md-4<?else:?>col-12<?endif?> mb-2 smart-filter-parameters-box bx-active">
<div class="<?if ($arParams["FILTER_VIEW_MODE"] != "HORIZONTAL"):?>col-12<?endif?> mb-2 smart-filter-parameters-box bx-active">
$bColumns = $arParams['FILTER_VIEW_MODE'] == 'HORIZONTAL' && isset($arParams['COLUMNS']) && intval($arParams['COLUMNS']) ? true : false;
$columnsCount = isset($arParams['COLUMNS']) && intval($arParams['COLUMNS']) ? $arParams['COLUMNS'] : 5;
<div class="smart-filter <?=($bColumns ? 'smart--filter--columns__'.$columnsCount : '');?>
@media (min-width: 992px) {
.smart--filter--columns__5 .smart-filter-parameters-box{width:20%;flex:0 0 20%;}
.smart--filter--columns__4 .smart-filter-parameters-box{width:25%;flex:0 0 25%;}
.smart--filter--columns__3 .smart-filter-parameters-box{width:33.33333333%;flex:0 0 33.33333333%;}
.smart--filter--columns__2 .smart-filter-parameters-box{width:50%;flex:0 0 50%;}
}
@media (min-width: 768px) and (max-width: 991px) {
.smart-filter .smart-filter-parameters-box{width:33.33333333%;flex:0 0 33.33333333%;}
.smart--filter--columns__2 .smart-filter-parameters-box{width:50%;flex:0 0 50%;}
}
@media (min-width: 576px) and (max-width: 767px) {
.smart-filter .smart-filter-parameters-box{width:100%;flex:0 0 100%;}
}
get_class($theme->Template());
поймешь что за класс, явно из модуля решения. Дальше ищешь этот класс.
ссылка
1. Закинешь в /bitrix/components/
2. Папка petrpo - это типа как пространство имен, можешь заменить на свое какое-нибудь, название компонента там catalog - можешь по-другому назвать.
3. Внутри компонента шаблон .default в файле template.php подключаются фильтр + section (bootstrap_v4), можешь туда же свою сортировку поставить, шаблон не кешируется, так что проблем не будет
4. Потом в публичной части изменить страницу в визуальном редакторе и joxi.ru/nAyWBZetgONoEm
ставишь компонент, настраиваешь и радуешься.