私は自分のウェブサイトの動的phpブレッドクラムにここにあるコードを使用しました。それは素晴らしい働きをします!ただし、1つ以上の深さのフォルダーをネストすると、エラーが発生します。
これが私が現在ブレッドクラム用に持っているコードです。
<?php
function breadcrumbs($separator = ' » ', $home = 'Home') {
$path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
$base = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
$breadcrumbs = Array("<a href=\"$base\">$home</a>");
$last = end(array_keys($path));
foreach ($path AS $x => $crumb) {
$title = ucwords(str_replace(Array('.php', '_'), Array('', ' '), $crumb));
if ($x != $last)
$breadcrumbs[] = "<a href=\"$base$crumb\">$title</a>";
else
$breadcrumbs[] = $title;
}
return implode($separator, $breadcrumbs);
}
?>
You are here: <?= breadcrumbs(' ♥ ') ?>
実例を見るのに最も簡単な場所はここです。ブレッドクラムの3番目のリンクをクリックすると、2番目のネストされたフォルダーが無視されます。問題をトラブルシューティングするのに十分なPHPとその修正方法がわかりません。理想的には、URL内のネストされたフォルダーを監視すると思います。