Как сделать правильный порядок параметров фильтра в интернет-магазине?

голоса: +2

Здравствуйте!

В интернет-магазине у меня активирован фильтр [по цене и] по дополнительному полю. Название дополнительного поля - "Размер". У каждого товара я добавил в это поле информацию о его размере (7 футов, 8 футов, 9 футов, 10 футов). Там, где выводится фильтр, получилась следующая картина: 

Проблема заключается в следующем: мне нужно, чтобы параметры фильтра стояли в нужном порядке, т.е. чтобы "10 футов" стояли после "9 футов", а не где попало.

Буду благодарен за помощь!

С уважением, Александр.

UPD:

Данный фильтр выводится, например, на этой странице. В шаблоне прописано:

<?$DRAW_BLOCK$('FILTER_SELECTOR','flist')?><?endif?>

Это отвечает за оба фильтра: за фильтрацию по цене и по дополнительному полю.

P.S. Вывод фильтра стилизован (т.е. кнопочки жёлтые). Это, в принципе, не важно, но стилизация через CSS:

.flist-item#flist-item-other4 a {
   padding: 5px 10px;
   border-radius: 10px;
   background: #FF9900;
   color: #fff;
}

 

Адрес сайта http://garlando.ru/
| Автор: | Категория: Интернет-магазин
Редактирование | | Автор: Александр Лащевский
Дайте ссылку именно на такой вид "размеров"...

Ответов: 1

Голоса: +1
 
Лучший ответ

Здравствуйте. Старая проблема. Попробуйте этот скрипт разместить в нижней части шаблона каталог товаров:

$(document).ready(function(){
	sortFilter();
});
$("#flist-values-other4 a").live("click",function(){
	var old, inter; 
	old = $("#flist-values-other4").html();
	inter = setInterval(function () {
		if ($("#flist-values-other4").html() != old) {
			sortFilter();
			clearInterval(inter);
		}
	}, 100);
});
function sortFilter() {
	var arr = [];
	$("#flist-values-other4 a, #flist-values-other4 span.active").each(function(elem){
		arr.push(this);
		if(elem === $(".flist-values a, .flist-values span.active").length-1) {
			arr = arr.sort(function(a,b){return parseInt($(a).text())-parseInt($(b).text());});
			$(".flist-values").empty();
			$(arr).each(function(){
				$(".flist-values").append(this);
			});
		}	
	});
}

В скрипте указан #flist-values-other4. Если Вам нужно сделать числовую сортировку для других полей, то просто скопируйте скрипт и измените other4 на необходимо значение.

| Автор:
Выбор ответа лучшим | | Автор: Yuri_Geruk
...