Сортировка селектом в mFilter2
По умолчанию в mFilter2 сортировка выводиться ссылками, в некоторых случаях, нужно вывести блок сортировки выпадающим списком Select с сохранением выбора при перезагрузки страницы, для этого есть такой вариант:
Скрипт в шаблон, в котором вызывайте mFilter2
Скрипт в шаблон, в котором вызывайте mFilter2
<script> $(function() { if (typeof(mSearch2) !== "undefined") { mSearch2.initialized = false; mSearch2.handleSort = function() { var params = this.Hash.get(); if (params.sort) { var sorts = params.sort.split(mse2Config.values_delimeter); for (var i = 0; i < sorts.length; i++) { var tmp = sorts[i].split(mse2Config.method_delimeter); if (tmp[0] && tmp[1]) { $('#mse2_sort option[data-sort="' + tmp[0] + '"][value="' + tmp[1] + '"]').attr('selected', 'selected').trigger('change'); } } } $(document).off('click', this.options.sort_link); $(document).on('change', '#mse2_sort', function() { var selected = $(this).find('option:selected'); var sort = selected.data('sort'); sort += mse2Config.method_delimeter + selected.val(); mse2Config.sort = (sort != mse2Config.start_sort) ? sort : ''; var params = mSearch2.getFilters(); mSearch2.Hash.set(params); mSearch2.load(params); }); } mSearch2.initialize('body'); } }); </script>В чанк: tpl.mFilter2.outer в место блока с сортировкой, этот блок
<select id="mse2_sort"> <option class="sort" data-sort="resource|pagetitle" value="asc">Название (А - Я)</option> <option class="sort" data-sort="resource|pagetitle" value="desc">Название (Я - А)</option> </select>
Войдите, пожайлуста, в аккаунт, чтобы оставить комментарий.
Комментарии ()