2013-02-28 91 views
1

這個問題直接關係到Concrete5 CMS。Concrete5分頁 - 限制輸出頁數

我使用的是內置的分頁幫手在我的網頁類型中的一種,我想限制它用下面的代碼呈現的頁數:<?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周圍括號表示活動頁)

I」 d想限制分頁一次只顯示5頁。因此,它看起來像這樣:

上一頁[1] 2 3 4 5下一頁

如果你是第5頁,它看起來像這樣:

一個3 4 [5] 6 7 Next

依此類推。它不需要像這樣工作。我主要關心的是限制$ paginator-> getPages()得到輸出的頁面數量;

我搜索了高和低,但我找不到任何有關如何實現這一目標的信息。誰能幫我嗎?

+0

奇怪......如果你看一下分頁類的GETPAGES()函數的代碼(在'/混凝土/核心/助理/ pagination.php',各地開始行在Concrete5.6.1中#195),它看起來應該完全按照你所要求的 - 在下一個/前5個結果之前和之後輸出點。您正在使用哪個版本的Concrete5? – 2013-03-07 17:24:07

+0

我昨天發現,當我更多地看着它時。我猜想在顯示點之前它會顯示的默認最大頁數是7.所以我從來沒有看到這些點。一旦我找到了分頁助手,我可以通過將它改爲顯示4頁,然後點,然後是最後一頁數,或多或少地獲得它的工作方式。 – norsewulf 2013-03-07 17:50:41

回答

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>