PEAR::PagerとBootstrap Paginationの融合
PEAR::Pagerを導入しているサイトにBootstrapを組み込む場合に悩むのがページネーションの表示です。
Pagerそのままだとコーディング内容が異なるので加工しないといけませんが、Pagerのクラスをいじるというのは避けたいので、なんとかSmartyを使ってテンプレート上で加工したいと思います。
Pagerインスタンス作成時のオプション設定
まず$option変数を以下のようにします。
$option = array( 'urlVar' => (リンクさせたいURL), 'perPage' => (1ページ内の表示件数), 'totalItems' => (合計数), 'prevImg' => '«', 'nextImg' => '»', 'curPageSpanPre' => '<li class="active"><a>', 'curPageSpanPost' => '</a></li>', $obj_pager = Pager::factory($option); $navi = $obj_page->getLinks(); $smarty->assign('pageNavi', $navi['all']); ...以下略...
ポイントとなるところは「curPageSpanPre」「curPageSpanPost」あたりでしょうか。
Smartyテンプレートファイル側
テンプレート側ではこのようにします。
<div class="text-center"> <ul class="pagination"> {$pageNavi|replace:'<a ':'<li><a '|replace:'</a>':'</a></li>'} </ul> </div>
PEAR::Pagerではaタグしか付加されませんから、その外側にliタグがつくようにreplace修飾子を繋げます。
お役に立ちましたでしょうか?
2014-12-07