利用 Zend_Paginator 組件快速實現留言板分頁。本文基於前序教程目錄結構,詳細說明控制器邏輯、分頁樣式模板與視圖整合步驟。
function indexAction() {
$message = new Message();
$this->view->arrReviews = $message->getAllReMessage();
$page = 1;
$numPerPage = 3;
if (isset($_GET['page']) && is_numeric($_GET['page'])) $page = $_GET['page'];
$array = $message->getAllMessage();
$paginator = Zend_Paginator::factory($array);
$paginator->setCurrentPageNumber($page)->setItemCountPerPage($numPerPage);
$this->view->paginator = $paginator;
// 渲染模板...
}
pagestyle.phtmlif ($this->pageCount): ?>if (isset($this->previous)): ?> < 上一頁 | else: ?> < 上一頁 | endif; foreach ($this->pagesInRange as $page): ?> if ($page != $this->current): ?> =$page?> | else: ?> =$page?> | endif; endforeach; if (isset($this->next)): ?> 下一頁 > else: ?> 下一頁 > endif; endif; ?>需在入口文件定義
WEB_ROOT常量。三、視圖整合
index.phtmlif (count($this->paginator)): ?> $i=1; foreach ($this->paginator as $message): ?> // 顯示留言內容 endforeach; echo $this->paginationControl($this->paginator, 'Elastic', 'pagestyle.phtml'); endif; ?>四、Zend_Paginator 三種顯示模式
- Sliding:滑動窗口(預設)。
- Elastic:彈性範圍(本文使用)。
- Jumping:跳躍式。
可根據項目需求切換第二參數。
完整實例代碼可點擊下載。更多 Zend 相關技術請參考專題:《Zend Framework 入門教程》、《PHP 優秀開發框架總結》、《Yii 框架入門及常用技巧總結》、《ThinkPHP 入門教程》、《PHP 面向對象程序設計入門教程》、《PHP+MySQL 數據庫操作入門教程》及《PHP 常見數據庫操作技巧匯總》。
- 上一篇文章: PHP 自動補全未閉合 HTML 標籤的實用函數
- 下一篇文章: Zend Framework 打造基礎留言板系統完整實戰