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