Этот вопрос напрямую связан с Concrete5 CMS.
Я использую встроенный помощник Pagination в одном из моих типов страниц, и я хотел бы ограничить количество страниц, которые он отображает, с помощью следующего кода: <?php echo $paginator->getPages(); ?>
<?php echo $paginator->getPages(); ?>
Вот весь код, который я использую в шаблоне:
if ($paginate && $num > 0 && is_object($pl)): ?> <div class="pagination"> <?php $summary = $pl->getSummary(); if ($summary->pages > 1): $paginator = $pl->getPagination(); ?> <span class="page-prev"><?php echo $paginator->getPrevious('Prev'); ?></span> <span class="pages"><?php echo $paginator->getPages(); ?></span> <span class="page-next"><?php echo $paginator->getNext('Next'); ?></span> <?php endif; ?> </div> endif;
Прямо сейчас, у меня есть список страниц, чтобы отображать 5 элементов на странице. У меня есть 35 элементов, поэтому моя разбивка на страницы выглядит примерно так:
Предыдущая [1] 2 3 4 5 6 7 Следующая
(скобки вокруг 1 представляют собой активную страницу)
Я хотел бы ограничить разбивку на страницы, чтобы отображать только 5 страниц за раз. Чтобы это выглядело примерно так:
Предыдущая [1] 2 3 4 5 Следующая
И если бы вы были на странице 5, это выглядело бы примерно так:
Предыдущая 3 4 [5] 6 7 Следующая
И так далее. Это не нужно работать именно так. Моя главная проблема заключается в том, чтобы ограничить количество страниц, получаемых с помощью $ paginator-> getPages ();
Я искал высокий и низкий, но я не могу найти никакой информации о том, как этого добиться. Может кто-нибудь мне помочь?
Ответ для меня заключался в изменении значения $ proximity number. Номер определяет количество номеров страниц, отображаемых рядом с номером активной страницы . Пример кода в моем view.php
<div class="ccm-pagination-outer-wrapper"> <?php $showPagination = true; $options = array( 'prev_message' => t('← Previous page'), 'next_message' => t('Next page →'), 'proximity' => 0 ); echo $pagination->renderDefaultView($options); ?> </div>