2013-07-26 95 views
0

我使用cakephp的數字類來管理一些基本的分頁。這是我創建CakePHP分頁格式化首先和最後一個醜陋

<?php echo $this->Paginator->numbers(array('first' => 'First', 'last' => 'Last', 'modulus' => 20)); ?> 

在頁面上會打印出下面的分頁鏈接:

First14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34Last 

注意,|分頻器不會首先與14和34也和Last之間進行打印。該文檔使它看起來像這個功能應該是在默認情況下,無論我如何修改我的分頁選項,我不能讓|出現。有誰知道什麼可以解決這個問題,我不知道我錯過了什麼。謝謝。

+0

凡在本文檔它說,這將是默認行爲? – ndm

+0

儘管文檔從未明確地說過,但這似乎是一種顯示此信息的奇怪方式。 http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper – usumoio

+0

我只是想知道,它會幫助確定這是否是一個錯誤。這種行爲確實有點奇怪,不幸的是,對於'last'和'before'使用字符串不會被測試覆蓋,只能使用整數,所以很難說出這是怎麼回事。看看[代碼](https://github.com/cakephp/cakephp/blob/a90cb29c0f6f40b1605f97f0bba8bc74fff70955/lib/Cake/View/Helper/PaginatorHelper.php#L725)讓我頭痛,似乎有些情況下,它增加了分隔符,但特別是使用'$ first'作爲一個數字,它可能是一個字符串混淆了我。 – ndm

回答

1

我有類似的問題,所以我做了每手。這是我的分頁程序代碼,我在我所有的

= $this->Paginator->first('<<') 
= '&nbsp;'    
= $this->Paginator->prev('<') 
= '&nbsp;' 
= $this->Paginator->numbers(array('seperator' => '|')) 
= '&nbsp;'  
= $this->Paginator->next('>') 
= '&nbsp;' 
= $this->Paginator->last('>>') 

可能不是「最好」的代碼頁的使用,但它的工作原理,並給出了一個完整的工作分頁程序。在你的情況,你會改變< </>>以第一/最後,取下上/下一個條目

希望這有助於