выберите количество предметов в представлении друпал - PullRequest
0 голосов
/ 19 января 2011

Есть ли способ, которым я могу иметь открытый фильтр, в котором пользователь может выбрать количество элементов, отображаемых в представлении drupal?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Я почти уверен, что вы можете сделать это с hook_views_pre_build (&$view). Я точно знаю, что вы можете связываться с $view->pager, чтобы обновить, использовать пейджер или нет, и изменить количество элементов на странице.

Это фрагмент из пользовательского модуля, который я сделал:


if (is_numeric($perpage) && (int) $perpage > 1) {
  $view->pager["items_per_page"] = (int) $perpage;
} else if ($perpage == "all") {
  $view->pager["use_pager"] = false;
  $view->pager["items_per_page"] = 0;
}

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

EDIT:

ОК, только что увидел часть об открытом фильтре. Фрагмент кода на самом деле взят из фрагмента кода, который имитирует открытый фильтр для этого случая. На странице есть несколько ссылок для выбора количества элементов на странице. Ссылки обновляют страницу и задают параметр perpage=whatever. Затем ловушка дезинфицирует ввод и в основном выполняет приведенный выше фрагмент кода. Я также сделал нечто похожее, используя HTML выбор, а затем подключил параметр с обновлением с помощью jQuery.

0 голосов
/ 19 января 2011

На основе этой цепочки в очереди вопросов , которая, кажется, является длинной запрошенной функцией.Очевидно, он был добавлен в ветку 6.x-3.x-dev , поэтому он должен быть доступен в выпуске 6.x-3.0-alpha3 .

Или, если вы используете Drupal 7, он был добавлен также в ветку 7.x-3.x-dev , поэтому он должен быть в 7.x-3.0-альфа1 релиз.

...