2008年5月21日 星期三

Zend FrameWork 學習心得(2) - 如何產生分頁列表 - How to Do Paginate ?

不管在任何程式中列表都是存在的,有列表就一定要有分頁的功能,但在 ZF 中的 Zend_Db_Table 雖然有在 fetchAll() , 及 fetchRow() 中提供設定 PerpageCout (每頁筆數) 以及 offset 的參數設定,讓 Model 在產生資料時依據每頁筆數及偏移量產生相應的 Data Array 回來,但那是在 Controller 中處理資料時的應用,ZF 官方似乎並沒有提供一個在 View 中產生 Pagnation Link 的 Component。

這也就代表說大家必須要自己去寫一段這樣的 Code 先去抓到總筆數在依據 PerpageCount 去計算總共有幾頁,最後在頁面中產生分頁的 Link,當然有經驗的開發者一定都有一套自己的分頁 Function,或是分頁的 Object,當然這也是一種快速開發的方法,不過既然抱持著要學習 ZF 的心態,就開始尋找看看有沒有人有開發針對分頁的的 Plug-in or Component。

求問 Google 大神之後找到了三種方式,第一種是利用 ZF 中 helper 的方式搭配 partial 來產生分頁列表 Pagination Helper ,以及把整個分頁包成一個 Component 的 Riskle Pagination Component,而在 ZF 官方社群 Wiki中有一個關於 Zend_Paginate Component Proposal Zend_Paginate - Jurriën Stutterheim and Matthew Ratzloff 不過被列在Pending Recommendation 區就是了。

以上資訊提供給大家在學習 ZF 上一些參考資料。

沒有留言: