While Pager v.1.x は、"ジャンプ型のウィンドウ" スタイルを取っています。 Pager_Sliding は、"スライド型のウィンドウ" スタイルを取っています。 どういう意味でしょうか? 例を見てみましょう。
データが15ページに渡り、 ウィンドウ幅が5ページのリンクがある場合を考えてみます。 リンクは、"フレーム"上に5ページ毎 [1-5] [6-10] [11-15] に表示されます。 Pager v.1.x は、 あなたがこの5ページのどれかにいる間、 常に同じ5ページのリンクを表示します。 ここに、時間的に連続したリンクがあります。1ページから始まり、 昇順に進みます。 現在のページ番号はブラケットで囲まれ、ハイライトされます。
<?php
a) {1} 2 3 4 5 => // first frame: [1-5]
b) <= 1 {2} 3 4 5 =>
c) <= 1 2 {3} 4 5 =>
d) <= 1 2 3 {4} 5 =>
e) <= 1 2 3 4 {5} => // HERE IT JUMPS TO THE NEXT FRAME
f) <= {6} 7 8 9 10 => // second frame: [6-10]
g) <= 6 {7} 8 9 10 =>
h) <= 6 7 {8} 9 10 =>
?>
といった具合です。 "ジャンプ型のウィンドウ" フレームが分かりますか?制限に達したとき (例では、5ページから6ページに移動したとき)、次のフレーム (6から10ページへのリンクがあります)に "ジャンプ" します。
あるフレームから別のフレームにジャンプする代わりに Pager_Sliding を使用すると、 変更がスムーズに行われ、 現在のページは常に "ウィンドウ" の中央に表示されます (もちろん、最初と最後のページは例外です)。
<?php
a) {1} 2 3 4 5 => [15]
b) [1] <= 1 {2} 3 4 5 => [15]
c) [1] <= 1 2 {3} 4 5 => [15] // HERE IT's STARTING WORKING AS DESIGNED
d) [1] <= 2 3 {4} 5 6 => [15] // see: current page number is at the center of the window
e) [1] <= 3 4 {5} 6 7 => [15] // and it stays there...
f) [1] <= 4 5 {6} 7 8 => [15]
g) [1] <= 5 6 {7} 8 9 => [15]
h) [1] <= 6 7 {8} 9 10 => [15]
?>
といった具合です。
異なる "哲学" は別として、 Pager_Sliding は、非常にカスタマイズ可能なように デザインされています。
更新情報: Pager 2.x がリリースされましたので、
Pager_Sliding でのみ使用可能だった全てのオプションは、
現在、Pager でも全て実装されています。
既述の通り、Pager_Sliding は新しい Pager
v.2.x のため、現在では非推奨となっています。
Pager v.2.x では、
mode
を変えるだけで
両方の動作方法("ジャンプ型" と "スライド型")を使用することができます。
詳細については、
Pagerのドキュメントを参照してください。
ページ内のリンクのルックアンドフィールを変更する *多くの*オプションがあります。 これらは、コンストラクタのドキュメントで説明されています。
これは、Apache の mod_rewrite モジュールを併用しても 動作させることができますので、例を参照してください。
また、"テンプレート" フレンドリーでもあります。 例えば、処理済みのリンクやページ数をカスタム変数に割り当てたり、 あなたのページレイアウトに従って リンクバーを表示するのに利用することができます。 そしてそれは、ロジックの心配なしに、です。
また、クラスを簡単に拡張することができます。 これは、あなたが多くの異なったページで使おうとしていて、 同じオプションをいつもセットしたくない場合に有効です。 ただ、あなたの拡張したクラス内でお気に入りのデフォルト値をセットし、 使うだけです。