PEAR::PagerとBootstrap Paginationの融合

PEAR::Pagerを導入しているサイトにBootstrapを組み込む場合に悩むのがページネーションの表示です。

20141207221642

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