Pear::pager と TwitterBootstrap をマッシュアップしてみた
前回に引き続き、WEBアプリをカスタマイズしてみました。
DB使って商品登録をしてると、1ページで表示すると非常に見づらくなることがあります。そんなとき「ページャー」があるとページごとに商品を分けてくれて見やすくなります。ですが、商品が多すぎるとページ数が多くなってきてページャー自体が見づらくなります。この辺りはユーザビリティの域になると思います。
そのユーザビリティを上げてくれるのがTwitterBootstrapです。
これまでに何度かバージョンアップしていて、2013年11月現在でバージョンは3になっています。3では「モバイルファースト」の概念を基に作られているようです。
このTwitterBootstrapにPaginationというコンポーネント(パーツみたいなもの)があり、これを使うとページャーのユーザビリティが非常に高くなります。一度はどこかのサイトで見たことがあると思います。
それで、ページャーですが、今回のWEBアプリでは枯れたライブラリであるPEARのPagerを使ってページ処理をしているので、それに合わせてカスタマイズする形になります。
リンクの形は以下のような形にします。
<div class="pagination"> <ul> <a href="#">aaa</a> </ul> </div>
ですが、これだけだとPEAR::pagerが出力する<a>タグに<li>タグがついてなくて、正しく表示されません。
正しく表示させるためにはPEAR::pagerを少しカスタマイズする必要があります。
PEAR::pagerのCommon.phpというファイルを開いて、<a>タグのところにハードコーディングします。
※「<a」でコード検索すると見つかります。
<li><a href="%s"%s%s%s%s title="%s">%s</a></li>
これで一旦表示ができるようになりましたが、PEAR::pagerのデフォルトでアクティブなページはリンクされないので<li>タグが反映されません。
そのため、pagerのオプション配列に以下の記載が必要になります。
$options = array(
'curPageSpanPre' => '<li class="active"><a>',
'curPageSpanPost' => '</a></li>'
);
これでTwitterBootstrapのPaginationが表示されるようになりました。
Book Stock Manager
http://lib.hakomori.net/
参照:
http://d.hatena.ne.jp/pospome/20130322/1363915348
Google AD
関連記事
-
-
CakePHP1.3でブラウザを閉じてもセッションが切れないようにする方法
ちょっと体調を崩してしまってましたが、なんとか回復してきました。(辛かった・・・) 本当に
-
-
バーコードで商品を登録する
自分が作成した帳票でバーコードを利用するhttp://taurine.yuki-prec
-
-
postgresqlのスロークエリ(スローログ)を取得する
45年ぶりの雪が、1週おきに降るってどういうことでしょうか? とは言え、雪が降るといつもと
-
-
vertical-alignで画像とテキストの位置を垂直方向で揃える
これも自分のリマインダー用としてエントリー。 画像とテキストが同じ行に並んでいて、垂直
-
-
google translate
もうね、すごいとしか。http://www.google.com/webelements/#!/tr
-
-
あらら?Googleのストレージサービスで、無料なのに有料プランが使えてる?!
「ストレージサービス」をご存知でしょうか。「サーバーのディスクスペースを
-
-
ブログ更新情報をTwitterに流す、FeedBurnerの「Socialize機能」
タイトルの通り、ブログの更新情報をTwitterに流す方法。 結論から言うとFeedBurnaer
-
-
xoops cubeを入れてみた
かなり枯れたパッケージだが、xoops cubeを調べたのでエントリー。 Xoops と言われ
-
-
今頃知りました。php
http://www.php.net/manual/ja/oop5.intro.phpabstrac
-
-
cakephpでPHPのタイムゾーン設定してないとエラーが出る件
ロリポップからさくらにサーバを変えたのは先日のエントリーの通りですが、サーバ環境が違うことでca


RSS