Получить текущее ограничение на количество страниц в режиме cakePHP 3

Я использую cakePHP 3.3 и хочу иметь фильтр с возможностью изменения лимита. Для этой опции должен быть выбран текущий предел.

Какой самый лучший способ получить текущий limit или результаты на странице используются в Paginator на мой взгляд?

я использую <?= $this->Paginator->counter('{{current}}'); ?> но это кажется счастливым, и это предел как строка.
Также, если результаты меньше, чем предел, это будет показывать не предел, а количество найденных результатов.

1 ответ

Решение

Компонент paginator добавляет детали пагинации в параметры объектов запроса, используя ключ pagingгде данные вложены с использованием псевдонима табличного объекта.

Проверьте

debug($this->request->param('paging'));

Эти данные легко доступны в ваших шаблонах представлений через помощников по разбиению на страницы. param() метод.

$this->Paginator->param('perPage');

Итак, почему perPage? Вы можете спросить. Ну пока есть еще и limit параметр, это всегда будет null если вы явно не установили limit значение в параметрах нумерации страниц и limit значение передается в URL (по крайней мере, если переданное значение не соответствует значению по умолчанию). Я не совсем понимаю смысл этого поведения, но это так.

В любом случае, в настоящее время это поддерживаемые параметры:

  • count
  • current
  • direction
  • directionDefault
  • finder
  • limit
  • nextPage
  • page
  • pageCount
  • perPage
  • prevPage
  • scope
  • sort
  • sortDefault

Смотрите также

Другие вопросы по тегам