Lid |
|
Goede middag,
Voor mijn website had ik graag een breadcrumb toegepast. Meer bepaald:
http://www.mijndomein.be/home
Zou als resultaat in de breadcrumb moeten geven:
Mijn bedrijf > Home (met een link als je op 'home' klikt)
Hiervoor maak ik gebruik van volgend script:
Mijn bedrijf
<?php
$crumbs = explode("/",$_SERVER["REQUEST_URI"]);
foreach($crumbs as $crumb){
echo ucfirst(str_replace(array(".php","_"),array(""," "),' > '.$crumb) . ' ');
}
?>
Mijn bedrijf <?php $crumbs = explode("/",$_SERVER["REQUEST_URI"]); foreach($crumbs as $crumb){ } ?>
Echter geeft dit als resultaat het volgende weer:
Mijn bedrijf > > home
...Iemand enig idee hoe ik dit kan oplossen?
EDIT:
Volgende code heeft mij een prima breadcrumb bezorgt:
<?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));
$last = end(array_keys($path));
$upToNowCrumbs = array();
foreach ($path as $x => $crumb) {
$upToNowCrumbs[] = $crumb;
$title = ucwords(str_replace(Array('.php', '_'), Array('', ' '), $crumb));
if ($x != $last)
$breadcrumbs[] = "<a href=\"$base".implode('/', $upToNowCrumbs)."\">$title</a>";
else
$breadcrumbs[] = $title;
}
return implode($separator, $breadcrumbs);
}
?>
<p><?= breadcrumbs() ?></p>
<?php function breadcrumbs($separator = ' » ', $home = 'Home') { $base = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/'; $breadcrumbs = Array("<a href=\"$base\">$home</a>"); $upToNowCrumbs = array(); foreach ($path as $x => $crumb) { $upToNowCrumbs[] = $crumb; if ($x != $last) $breadcrumbs[] = "<a href=\"$base".implode('/', $upToNowCrumbs)."\">$title</a>"; else $breadcrumbs[] = $title; } return implode($separator, $breadcrumbs); } ?> <p><?= breadcrumbs() ?></p>
|