這個做法是參考此篇「Using Zend Framework with CodeIgniter」修改而來的。
事實上外掛Zend的需要性可能比PEAR還要高,我之所以要外掛PEAR來做是因為CI的分頁類好像有問題@_@,索性就直接使用PEAR的分頁類了,而且PEAR的分頁類還有Jumping和Sliding不同模式可選用,在某些情況下,PEAR的彈性可能比較高。however...看你喜不喜歡多掛一個做同樣事情的library而已。
一、下載PEAR函式庫必要的「PEAR核心檔」即可,然後再下載所需的類別套件,以我為例就是「Pager套件」,最終的資料夾結構大概長這樣
二、將PEAR放到你的applicaiton/libraries/中,在application/libraries/中建立一個新檔,並命名為PEAR.php的類別檔(注意與applicaiton/libraries/PEAR底下的PEAR.php是不一樣的,不要混淆了),內容如下:
if (!defined('BASEPATH')) {exit('No direct script access allowed');} class CI_PEAR { /** * Constructor * * @param string $class class name */ function __construct($class = NULL) { // include path for PEAR library // alter it accordingly if you have put the 'PEAR' folder elsewhere ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . APPPATH . 'libraries/PEAR'); if ($class) { require_once (string) $class . EXT; log_message('debug', "PEAR Class $class Loaded"); } else { log_message('debug', "PEAR Class Initialized"); } } /** * PEAR Class Loader * * @param string $class class name */ function load($class) { require_once (string) $class . EXT; log_message('debug', "PEAR Class $class Loaded"); } }
三、在controllers中,你就可以這樣的使用
//注意,不必加上最後的.php $this->pear->load('PEAR/Pager/Pager'); //設定分頁參數 $params = array( 'mode' => 'Jumping', 'perPage' => 3, 'delta' => 2, 'itemData' => array('a','b','c','d','e',[...omissis...],'z') ); $pager = Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks();
全站熱搜
留言列表