また、トップページからこのページまでのアクセスの経路を示す情報を提供しています。この情報は、ページの先頭付近と終端付近で合計二度提供されていますので、この情報が二度目に出現した箇所を、ページの終端と捉えていただくことができます。一度目の出現はこのご案内の直後です。すなわち、次のような形式で提供しています。以上で、ご案内を終わります。


HOMEPC関連ウェブサイト作成関連PHPによるパン屑ナビゲーションの試案


PHPによるパン屑ナビゲーションの試案

いわゆるパン屑ナビゲーション(パン屑リスト; breadcrumbs navigation; breadcrumb trails)を、PHPによって自動的に生成するためのスクリプトです。このサイトで実際に使用しています。ソースは汚いと思いますが、さしあたって正常に動作している(必要な結果を返している)ので改変するつもりはありません。動作を保ちつつよりスマートに書けるぞ、という方は是非お知らせください。私は根っからの文系なのです。言い訳になっていませんか。

目次

仕様

ダウンロード

php ファイルを zip 圧縮、文字コード・改行コードは、それぞれ EUCLF です。

目次へ戻る(C)

ソース

<?php

$sprtr = " > ";

$breadized = split( "/", "$myFullname" );

$num = count($breadized);

echo "\n<hr />\n\n<p id=\"breadnavi\">\n\t";

for ($i=0;$i<$num;$i++) {
 if ($i+1==$num) {
  echo "<em>$myTitle</em>";
 }
 else if (strpos("$myFullname", "index.")) {
  if ($i+2!==$num) {
   echo "<a href=\"";
    for ($j=$num-$i-2;$j>0;$j--) {
     echo "../";
    }
   echo "\">$breadized[$i]</a>$sprtr";
  }
 }
 else if ($i+2==$num) {
  echo "<a href=\"./\">$breadized[$i]</a>$sprtr";
 }
 else {
  echo "<a href=\"";
  for ($j=$num-$i-2;$j>0;$j--) {
   echo "../";
  }
  echo "\">$breadized[$i]</a>$sprtr";
 }
}

echo "\n</p>\n\n<hr />\n\n";

?>
目次へ戻る(C)

使い方

パン屑ナビゲーションを表示したいページに、breadnavi.php を include してください。このとき breadnavi.php は、「参照元のページの絶対パス」(http:⁄⁄ で始まるパス)と、「参照元のページのタイトル」(<title>に設定した文字列)が、それぞれ"$myFullname", "$myTitle"という変数名で存在していることを要求します。もちろん、変数名は breadnavi.php を書き換えることで、任意の名前に変更できます。

以下に、書式の例を示します。

include("http://www.foobar.com/breadnavi.php");

初期状態では、パン屑ナビゲーションは段落(タグ "<p>")として書き出されます。リスト(タグ "<ol>")の方が妥当ではないか、とお考えの方は、そのようにスクリプトを書き換えてください。その他、お好みに改造してご利用ください。

パン屑ナビゲーションが、 HTML 文書の中でどのように機能する(べき)ものなのか、を考えるうえで参考になる文書へのリンクを示します。

免責

当たり前のことですが、このスクリプトの利用によって起こる全ての事象に関して、青山は一切干渉しません。責任を放棄するため、権利も主張しません。

目次へ戻る(C)

HOMEPC関連ウェブサイト作成関連PHPによるパン屑ナビゲーションの試案


この文書について

URI
http://www.mtblue.org/pc/web/
この文書へは、トップページ、PC関連、ウェブサイト作成関連、とリンクをたどることで到達できます。
最終改訂日
20111123日 (水) 】
ご連絡・お問い合わせ先
青山 までお願いします。次の二通りの方法がご利用いただけます。
http://www.mtblue.org/contact/ 】 (サイト上のメールフォームから連絡する)
webmaster@mtblue.org 】 (通常の電子メールで連絡する)

© 2000-2017 AOYAMA Naoki, mtblue.org, All Rights and Responsibilities Reserved.