1

这个问题与 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->getPages(); 输出的页面数量;

我搜索了高低,但我找不到任何关于如何实现这一目标的信息。谁能帮我吗?

4

1 回答 1

2

对我来说,答案是改变$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>
于 2017-10-19T11:25:55.707 回答