Concrete5分页 - 限制输出的页数

时间:2013-02-28 18:25:04

标签: php pagination concrete5

此问题与Concrete5 CMS直接相关。

我在我的某个页面类型中使用了内置的分页助手,我想使用以下代码限制它呈现的页数:<?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-&gt; getPages();

输出的页面数量

我搜索过高低,但我找不到任何有关如何实现这一目标的信息。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

我的答案是改变 $ proximity 号码的价值。号码定义活动页码旁边显示的页码数量。 我的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>