фильтрами:
<a href="#" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price:desc`:then=`desc`]]" data-default="desc" class="sort" >По цене <span></span></a>
<a href="#" data-sort="resource|publishedon" data-dir="[[+mse2_sort:is=`resource|publishedon:desc`:then=`desc`]]" data-default="desc" class="sort">По ноовизне <span></span></a>
<a href="#" data-sort="ms|skidka" data-dir="[[+mse2_sort:is=`ms|skidka:desc`:then=`desc`]]" data-default="desc" class="sort sort-sales">По скидке <span></span></a>
<a href="#" data-sort="tv|rating" data-dir="[[+mse2_sort:is=`tv|rating:desc`:then=`desc`]]" data-default="desc" class="sort" >По рейтингу <span></span></a>
Для них я модифицировал клик по сортировке в default.js (custom.js)
$(document).on('click', this.options.sort_link, function () {
if ($(this).hasClass(mSearch2.options.active_class) && $(this).data('dir') == '') {
return false;
}
$(mSearch2.options.sort_link).removeClass(mSearch2.options.active_class);
$(this).addClass(mSearch2.options.active_class);
var dir;
if ($(this).data('dir') == '') {
dir = $(this).data('default');
}
else {
dir = $(this).data('dir') == 'desc'
? 'asc'
: 'desc';
}
if ($(this).attr('data-dir') == $(this).data('default') && $(this).hasClass(mSearch2.options.active_class) && $(this).hasClass('sort-sales')) {
mSearch2.Hash.clear();
var params = mSearch2.getFilters();
mSearch2.load(params);
$(this).data('dir', '').attr('data-dir', '').removeClass(mSearch2.options.active_class);
} else {
if ($(this).attr('data-dir') == "asc" && $(this).hasClass(mSearch2.options.active_class)) {
mSearch2.Hash.clear();
var params = mSearch2.getFilters();
mSearch2.load(params);
$(this).data('dir', '').attr('data-dir', '').removeClass(mSearch2.options.active_class);
} else {
$(mSearch2.options.sort_link).data('dir', '').attr('data-dir', '');
$(this).data('dir', dir).attr('data-dir', dir);
var sort = $(this).data('sort');
if (dir) {
sort += mse2Config.method_delimeter + dir;
}
mse2Config.sort = (sort != mse2Config.start_sort) ? sort : '';
var params = mSearch2.getFilters();
if (mse2Config['page'] > 1 && (mse2Config['mode'] == 'scroll' || mse2Config['mode'] == 'button')) {
mse2Config['page'] = '';
delete(params['page']);
}
mSearch2.Hash.set(params);
mSearch2.load(params);
}
}
return false;
});
},
Чтобы Вам сильно не вникать быстро опишу, что я путём проверки выбранных в данный момент сортировок либо отключаю сортировку (работает на сортировке по скидке, там нужно делать сортировку только по desc) и то же самое делаю для сброса сортировки если выбран asc. Таким образом первый клик делает desc, второй клик делает asc, третий клик сбрасывает сортировку.
Почему-то при сбросе сортировки кнопка выключается, атрибуты сбрасываются, карточки видно что грузятся повторно. НО НО НО. Возвращает последний выбранный фильтр в запрос. Как я понимаю это происходит внутри функции mSearch2.load(params);
Однако параметры берутся из mSearch2.getFilters();
Который в свою очередь берёт данные из mSearch2.Hash.get()
Только в моём случае пере выполнением mSearch2.load(params); и mSearch2.getFilters(); я делаю mSearch2.Hash.clear();, что как мне кажется должно очищать параметры для загрузки. Но где-то я ошибаюсь. Есть те, кто знает где?
Не ужели никто никогда не ковырял mFilter2?
Сделать списком не удалось?
Клиент привязался к дизайну. А в дизайне кнопка.
Тебе нужно именно по фильтру текущему на 3й раз сбрасывать сортировку? А отдельная кнопка сброса всех сортировок не канает?
Неа, делал именно так
Но теперь и отдельная кнопка не проблема
Дак я ж дал уже человека Вам кто все решит😁
Я человек наверно 30 - 50 ответы писал что нужно. Заманался. Я нашел 3-5 что там кто хочет и может и без предоплаты за 7к
Я спросил, потому что сбросить сортировку можно отдельной кнопкой из коробки. Но если там переключалка нужна, то конечно дописывать.
А из коробки какая кнопка?
там не кнопка, а можно оформить <a> так: <a href="" data-sort="" data-dir="" class="sorty sort">Сбросить</a>
Ага, И на кнопку класс active накидывается)
а что ужасного в том что на него acvite накидывается?
У тебя на сайте когда active кидается, кнопка дизайн меняет?
Обсуждают сегодня