ページ間のセパレータの表示方法を設定する

広告

ナビゲーションリンクに表示されているページへのリンクについて、リンク間のセパレータの表示方法を設定します。Pagerクラスのオブジェクトを作成する時に指定する「separator」オプションと「spacesBeforeSeparator」オプションと「spacesAfterSeparator」オプションを使用します。

$options = array(
  "totalItems" => 100,
  "perPage" => 5,
  "delta" => 5,
  "separator" => ":",
  "spacesBeforeSeparator" => 1,
  "spacesAfterSeparator" => 2
);

$pager =& Pager::factory($options);

デフォルトではページのリンクの間には半角スペースが1つで区切られています。まず区切り文字であるセパレータを指定するには「separator」オプションで文字列を指定します。上記の場合は「:」を指定していますので設定する前は「1 2 3 」のようだったものが「1:2:3:4」のように変更されます。

さらにセパレータの前後に指定した空白を指定することが出来ます。「spacesBeforeSeparator」オプションでセパレータの前に挿入する空白の個数を指定し、「spacesAfterSeparatorrator」オプションでセパレータの後に挿入する空白の個数を指定します。(セパレータで空白を含めて指定もできますが、セパレータに画像を指定した場合などに利用します)。

サンプルプログラム

では簡単なサンプルで実際に試してみます。

sample10-1.php

<html>
<head><title>PHP TEST</title></head>
<body>

<p>テスト</p>

<?php
require_once("Pager/Pager.php");

$options = array(
  "totalItems" => 100,
  "perPage" => 5,
  "delta" => 5,
  "currentPage" => 12,
  "curPageSpanPre" => "[",
  "curPageSpanPost" => "]",
  "separator" => ":",
  "spacesBeforeSeparator" => 1,
  "spacesAfterSeparator" => 2
);

$pager =& Pager::factory($options);
$navi = $pager -> getLinks();

print($navi["first"]);
print($navi["all"]);
print($navi["last"]);

$currentPageID = $pager -> getCurrentPageID();

print("<p>");
print("現在のページ番号は".$currentPageID."です");
print("</p>");
?>

</body>
</html>

上記をWWWサーバに設置しブラウザで見てみると下記のように表示されます。

ページ間のセパレータの表示方法を設定する

ページへのリンクの間が「:」で区切られ、さらに「:」の前後に指定した空白が設定されていることが確認できます。

( Written by Tatsuo Ikura )