Я пользуюсь cakephp 3.x paginator и у меня есть запрос от клиента.
Пример:
<< | < | **1** 2 3 4 5 6 7 8 9 | > | >>
<< | < | **10** 11 12 13 14 15 16 17 18 19 | > | >>
<< | < | **20** 21 22 23 24 25 26 27 28 29 | > | >>
«>» И «<«просто перейдите на следующую страницу и вернитесь на предыдущую страницу.
Итак, мой вопрос:
Мой код в view.ctp
<?php
echo $this->Paginator->first(<<);
echo $this->Paginator->prev('<');
echo $this->Paginator->numbers();
echo $this->Paginator->next('>');
echo $this->Paginator->last(>>);
?>
К сожалению, нет встроенного вспомогательного метода paginator, который бы создавал такие ссылки, вы можете захотеть подать запрос функции для этого, я думаю, это было бы хорошим дополнением.
Тем не менее, вы можете создавать такие переходные ссылки вручную, помощник paginator предлагает все, что нужно, то есть номер текущей страницы, метод проверки, существует ли данная страница, и функциональность для генерации ссылок из шаблонов помощников.
Вот базовый пример, это сгенерирует ссылку перехода для текущей страницы + 10 в случае, если эта страница существует:
$page = $this->Paginator->current() + 10;
if ($this->Paginator->hasPage($page)) {
echo $this->Paginator->templater()->format('nextActive', [
'url' => $this->Paginator->generateUrl(['page' => $page]),
'text' => '>>',
]);
}
Смотрите также
Документы Templater в настоящее время отсутствуют по какой-то причине …
Других решений пока нет …