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
関連記事
-
さよなら、SKYPE
MSのSkype買収--相乗効果で狙う顧客基盤拡大 - CNET Japan近所に住んでる仲の良かっ
-
ロリポップからさくらインターネットにレンタルサーバを変更しました
前のエントリーで少し書きましたが、ロリポップを解約しました。 契約開始から3年と半年、本当
-
WordPress plugin cooperate to EC-CUBE
downloadhttp://code.google.com/p/now-on-sell/it co
-
cakephpでユーザ定義定数を読みだす方法
サイトを作るにあたって、定数を使いたいときがよくあります。 サイト上のある数値に変更があっ
-
Gitに挑んだりしてみる
複数で開発するにあたって絶対必要と言ってもいい、バージョン管理ソフト。WEBSVNという選択肢も頭を
-
podcastのテスト
podcast配信です! mp3ダウンロード mp4ダウンロード
-
zenphotoを考え始める
googleのwebアルバムを使っていて、こりゃ便利じゃわい、と思ってたけど、結局完全に無料じゃない
-
cakephpでPHPのタイムゾーン設定してないとエラーが出る件
ロリポップからさくらにサーバを変えたのは先日のエントリーの通りですが、サーバ環境が違うことでca
-
postgresqlのスロークエリ(スローログ)を取得する
45年ぶりの雪が、1週おきに降るってどういうことでしょうか? とは言え、雪が降るといつもと
-
EC-cube+MYSQL < EC-cube+PostgreSQL
http://sasapurin.doorblog.jp/archives/cat_50047102