Представления Drupal: разрешение пользователям выбирать критерии сортировки при отображении узла - PullRequest
2 голосов
/ 23 января 2010

У меня есть несколько узлов, которые я отображаю в виде. Они отображаются как узлы, не отформатированные. Я бы хотел, чтобы пользователь мог выбрать один из заранее определенных критериев сортировки (с помощью раскрывающегося списка или аналогичного).

Чтобы они могли выбрать недавно активные, наиболее комментированные, новейшие и т. Д. И повторно запросить новые результаты.

Это легко с таблицами, потому что вы можете сделать метки кликабельными, но я не знаю, как получить аналогичную функциональность с предварительным просмотром необработанных узлов.

Ответы [ 3 ]

1 голос
/ 23 января 2010

Просто мысль от меня ко мне и для всех, кто пытается это сделать.

Простой, изящный вариант - просто добавить другое представление страницы для каждого из требуемых сортов и предоставить ссылку на эти другие представления в заголовке каждой из страниц.

Это также может позволить (более легкую) ссылку на отдельные сортировки, например, если у вас есть блок боковой панели, отображающий недавно прокомментированные узлы, вы можете отрегулировать .tpl.php блока, чтобы ссылка заголовка отображалась в представлении. полный набор недавно прокомментированных узлов.

также я довольно конечно, должен быть способ сделать это с аргументами, но я не знаю, как

1 голос
/ 11 сентября 2010

Представления 3 поддерживают выставление порядка сортировки (так же, как вы можете выставить фильтры)

Выберите порядок сортировки (например, добавьте сортировку по дате создания узла, затем нажмите на настройки для этого), и вы сможете указать порядок сортировки для конечного пользователя. Это все равно, что щелкнуть настройки фильтра, а затем выбрать его выставление.

0 голосов
/ 23 января 2010

Стандартные представления не будут поддерживать это, поэтому IMO лучше всего реализовать пользовательское решение, используя просто старое представление и этот плагин jQuery . Вы можете сделать это либо на слое темы (так же, как на любом другом JS в теме), либо в пользовательском модуле (через drupal_add_js (), чтобы добавить плагин и свой собственный код). В любом случае будет работать, хотя очевидным преимуществом пользовательского модуля является то, что он не зависит от темы (и, следовательно, более переносим).

Если вы идете по маршруту пользовательского модуля, рассмотрите возможность его выпуска в качестве модуля contrib на http://drupal.org.

...