ご案内:このページ「PHPによるパン屑ナビゲーションの試案」は、ウェブサイト「 mtblue.org 」の中のページの一つです。サイト内のページを少しでも効率よく参照していただけるよう、次の機能を提供しています。ご利用ください。
また、トップページからこのページまでのアクセスの経路を示す情報を提供しています。この情報は、ページの先頭付近と終端付近で合計二度提供されていますので、この情報が二度目に出現した箇所を、ページの終端と捉えていただくことができます。一度目の出現はこのご案内の直後です。すなわち、次のような形式で提供しています。以上で、ご案内を終わります。
HOME > PC関連 > ウェブサイト作成関連 > PHPによるパン屑ナビゲーションの試案
いわゆるパン屑ナビゲーション(パン屑リスト; breadcrumbs navigation; breadcrumb trails)を、PHPによって自動的に生成するためのスクリプトです。このサイトで実際に使用しています。ソースは汚いと思いますが、さしあたって正常に動作している(必要な結果を返している)ので改変するつもりはありません。動作を保ちつつよりスマートに書けるぞ、という方は是非お知らせください。私は根っからの文系なのです。言い訳になっていませんか。
php ファイルを zip 圧縮、文字コード・改行コードは、それぞれ EUC・LF です。
<?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";
?>パン屑ナビゲーションを表示したいページに、breadnavi.php を include してください。このとき breadnavi.php は、「参照元のページの絶対パス」(http:⁄⁄ で始まるパス)と、「参照元のページのタイトル」(<title>に設定した文字列)が、それぞれ"$myFullname", "$myTitle"という変数名で存在していることを要求します。もちろん、変数名は breadnavi.php を書き換えることで、任意の名前に変更できます。
以下に、書式の例を示します。
include("http://www.foobar.com/breadnavi.php");
初期状態では、パン屑ナビゲーションは段落(タグ "<p>")として書き出されます。リスト(タグ "<ol>")の方が妥当ではないか、とお考えの方は、そのようにスクリプトを書き換えてください。その他、お好みに改造してご利用ください。
パン屑ナビゲーションが、 HTML 文書の中でどのように機能する(べき)ものなのか、を考えるうえで参考になる文書へのリンクを示します。
当たり前のことですが、このスクリプトの利用によって起こる全ての事象に関して、青山は一切干渉しません。責任を放棄するため、権利も主張しません。
HOME > PC関連 > ウェブサイト作成関連 > PHPによるパン屑ナビゲーションの試案