Добрый день,
Вывожу каталог с помощью views.
Возникла задача организовать пользовательскую сортировку выводимых данных.
Вопрос как это сделать ? В стандартных средствах VIEWS можно только жестко задать как сортировать.
В мне необходимо что бы пользователь при просмотре мог указать как он хочет сортировать данные.
Комментарии
О чем вы говорите?...Стандартно можно сделать, чтобы сортировалось при нажатии на Заголовок столбца. Для этого добавьте в Критерии сортировки эти столбцы, затем в Настройках стиля таблицы поставьте галочки Сортируется...или вам что-то другое нужно...?
Насчет сортировки, в случае если стиль будет ТАБЛИЦА я в курсе. Меня немного не устраивает этот стиль.
У меня используется стиль Сетка. И мне нужно что бы пользователь в итоге мог наверху нажать ссылку сортировать по популярности и получить отсортированный каталог, ну и помимо популярности другие варианты сортировки тоже будут.
Решение предварительно нашел но ещё не реализовал.
Решение будет такое. В примере сортировка по цене. Остальные варианты сортировки ещё не добавил.
Правда пришлось свой модуль добавить, что бы эту хрень вставить. В template.php данный хук работать не будет.
<?php
function views_bp_sort_views_query_alter(&$view, &$query) {
if ($view->name == 'test'){
if (isset($_GET["sort"]) && $_GET["sort"]=='pu') $query->orderby[0]='uc_products_sell_price ASC';
if (isset($_GET["sort"]) && $_GET["sort"]=='pd') $query->orderby[0]='uc_products_sell_price DESC';
}
}
?>