1. Найдите в вашем шаблоне "Товары" следующий код
<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
{% IF SHOW_GOODS_FILTERS %}
<div class="filters">
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
<form action="" method="get">
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter">
{filter_attr_list.NAME}:<br />
<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
<option> - все - </option>
{% FOR values %}
<option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
{% ENDFOR %}
</select>
</div>
{% ENDFOR %}
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
{% FOR filter_prop_list %}
<div class="filter">
{filter_prop_list.NAME}:<br />
<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
<option> - все - </option>
{% FOR values %}
<option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
{% ENDFOR %}
</select>
</div>
{% ENDFOR %}
<div class="clear"></div>
</form>
</div>
{% ENDIF %}
{% ENDIF %}
<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
и замените его на код
<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
{% IF TARIFF_FEATURE_GOODS_FILTERS %}
<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
<div class="filters">
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
<form action="" method="get">
<!-- Если есть возможность фильтрации товаров по ценам -->
{% IF SHOW_GOODS_PRICE_FILTERS %}
<div class="filter">
<div>
<div class="goodsFilterPriceInfo">
<label>Цена:</label>
от <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
до <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
</div>
<div class="contentTbodySearchPriceFilterBlock">
<div id="goods-filter-price-slider"></div>
<!-- Фильтры по цене -->
<div class="goodsFilterPriceRangePointers"><div class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</div><div class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div></div>
<div class="goodsFilterPriceSubmit">
<button class="btn btn-success" type="submit">Показать</button>
</div>
</div>
</div>
</div>
{% ENDIF %}
<!-- END Если есть возможность фильтрации товаров по ценам -->
{% IF SHOW_GOODS_FILTERS %}
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter">
<div>
{filter_attr_list.NAME}:<br />
<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
<option> - все - </option>
{% FOR values %}
<option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
{% ENDFOR %}
</select>
</div>
</div>
{% ENDFOR %}
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
{% FOR filter_prop_list %}
<div class="filter">
<div>
{filter_prop_list.NAME}:<br />
<select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
<option> - все - </option>
{% FOR values %}
<option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
{% ENDFOR %}
</select>
</div>
</div>
{% ENDFOR %}
{% ENDIF %}
<div class="clear"></div>
</form>
</div>
{% ENDIF %}
<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->
После в файле main.js найдите код
$("#deliveryConvenientDate").datepicker({
dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText : 'Готово',
currentText : 'Сегодня' ,
duration : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate : new Date(),
firstDay : 1
});
и замените его на код
$("#deliveryConvenientDate").datepicker({
dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText : 'Готово',
currentText : 'Сегодня' ,
duration : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate : new Date(),
firstDay : 1
});
var
// Минимальное значение цены для фильтра
priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text())
// Максимальное значение цены для фильтра
,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text())
// Максимальное значение цены для фильтра
,priceSliderBlock = $('#goods-filter-price-slider')
// Поле ввода текущего значения цены "От"
,priceInputMin = $( "#goods-filter-min-price" )
// Поле ввода текущего значения цены "До"
,priceInputMax = $( "#goods-filter-max-price" )
// Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен.
,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" )
;
// Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст
function priceInputsChangeWidthByChars() {
// Если есть блок указания минимальной цены
if(priceInputMin.length) {
priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px');
priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px');
}
}
// Слайдер, который используется для удобства выбора цены
priceSliderBlock.slider({
range: true,
min: priceFilterMinAvailable,
max: priceFilterMaxAvailable,
values: [
parseInt($('#goods-filter-min-price').val())
,parseInt($('#goods-filter-max-price').val())
],
slide: function( event, ui ) {
priceInputMin.val( ui.values[ 0 ] );
priceInputMax.val( ui.values[ 1 ] );
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
}
});
// При изменении минимального значения цены
priceInputMin.keyup(function(){
var newVal = parseInt($(this).val());
if(newVal < priceFilterMinAvailable) {
newVal = priceFilterMinAvailable;
}
priceSliderBlock.slider("values", 0, newVal);
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
});
// При изменении максимального значения цены
priceInputMax.keyup(function(){
var newVal = parseInt($(this).val());
if(newVal > priceFilterMaxAvailable) {
newVal = priceFilterMaxAvailable;
}
priceSliderBlock.slider("values", 1, newVal);
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
});
// Обновить размеры полей ввода диапазона цен
priceInputsChangeWidthByChars();
2. Это означает следующее - если в категории всего 10 товаров, и у всех 10ти товаров одинаковая цена, то фильтр по цене отображаться не будет т.к фильтровать по сути и нечего. Если присутствует любая разница в цене для товаров, то фильтр по цене отображаться будет.