Cakephp paginator переход с нескольких страниц

Я пользуюсь cakephp 3.x paginator и у меня есть запрос от клиента.

Пример:

  • Моя страничка бара, теперь она стоит на первом месте.

<< | < | **1** 2 3 4 5 6 7 8 9 | > | >>

  • Когда я нажимаю «>>», панель будет показывать 10-19 и стоять на # 10

<< | < | **10** 11 12 13 14 15 16 17 18 19 | > | >>

  • Нажмите «>>» еще раз, он покажет 20-29 и будет стоять на # 20

<< | < | **20** 21 22 23 24 25 26 27 28 29 | > | >>

  • То же самое с «<<«, вернемся к 10-19 и 1-9.

«>» И «<«просто перейдите на следующую страницу и вернитесь на предыдущую страницу.

Итак, мой вопрос:

  • Как я могу сделать «>>» и «<<«кнопка с помощником нумерации страниц

Мой код в view.ctp

<?php
echo $this->Paginator->first(<<);

echo $this->Paginator->prev('<');

echo $this->Paginator->numbers();

echo $this->Paginator->next('>');

echo $this->Paginator->last(>>);
?>

2

Решение

К сожалению, нет встроенного вспомогательного метода 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 в настоящее время отсутствуют по какой-то причине …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]