2014-08-28 86 views

回答

2

很好的問題:你需要通過@丹到system/CI_Pagination.php庫擴展的代碼到application/library/MY_Pagination.php

數學計算是好的,設置成CI分頁庫,見下文

1)創建文件到application/library/MY_Pagination.phpmore info關於創建圖書館

覆蓋create_links()從自定義的方法方法,請參見下面

修改後的代碼create_links()方法

if ($this->cur_page === $loop){ 
    // Current page 
    $output .= $this->cur_tag_open.($this->cur_page == 1 ? $loop : $loop*($this->per_page)+1).'-'.($loop * $this->per_page).$this->cur_tag_close; 
}elseif ($i === $base_page){ 
// First page 
    $output .= $this->num_tag_open.'<a href="'.$first_url.'"'.$attributes.$this->_attr_rel('start').'>' 
       .((($loop)*($this->per_page) - $this->per_page)+1) .'-'. ($loop * $this->per_page).'</a>' 
       .$this->num_tag_close; 
}else{ 
    $append = $this->prefix.$i.$this->suffix; 
    $output .= $this->num_tag_open.'<a href="'.$base_url.$append.'"'.$attributes.$this->_attr_rel('start').'>' 
       .((($loop)*($this->per_page) - $this->per_page)+1) .'-'. ($loop * $this->per_page) 
       .'</a>'.$this->num_tag_close; 
} 

完全MY_Pagination.php文件號線(577-592)click here

注意我已經使用了最新的核心文件,所以請使用您的修正案在當前文件

+0

是不是應該在覈心/ MY_Pagination.php? – 2014-08-28 08:11:00

+0

'application/library/MY_Pagination.php'創建新文件。 – Girish 2014-08-28 08:38:54

+0

致命錯誤:您在第125行 – 2014-08-28 09:38:31

1

做一些簡單的數學來調整,因此,例如,如果$x = 1

而是第1個存在$ X第1頁是:

<?php echo $x.'-'.($x * 10); ?> 

第2頁和較高的是:

<?php 
    $x++; 
    echo (($x)*10)-10)+1.'-'.($x * 10); 
?> 

其中$x++爲每個顯示計數。

+0

不......用'CodeIgniter'庫不可能,而'OP'不會修改庫 – Girish 2014-08-28 02:51:44

+0

應該是可以的。 OP只是詢問顯示內容,點擊時傳遞給URI的值可能與顯示內容不同。正如[文檔](https://ellislab.com/codeigniter/user-guide/libraries/pagination.html)所述,它是「100%可定製的」。 – Dan 2014-08-28 02:54:28

+0

頁面鏈接是通過'create_link'函數創建的,他需要將庫擴展爲'application/library/MY_Pagination.php',並通過自定義方法覆蓋方法那裏自定義代碼集成,更多信息https://ellislab.com/codeigniter /user-guide/general/creating_libraries.html – Girish 2014-08-28 03:09:13