Navigation

Breadcrumb-Navigation mit PHP

4. Mai 2005
von

von Florian Fischer

Brotkrumen als Navigationshilfe sind zwar kein zentrales Instrument, doch allemal hilfreich – besonders wenn es zahlreiche Rubriken gibt. Man kann das manuell, mit Javascript oder mit PHP realisieren. Angenehmer Zusatznutzen der PHP-Variante: barrierearm und suchmaschinentauglich ist diese Lösung ebenfalls.

Dabei wird die URL zur jeweiligen Seite untersucht, die einzelnen Unterordner ermittelt und verlinkt. Eine so genannte Breadcrumb-Navigation entsteht.

bread 02 2 foto
Brotkrume bei Yahoo

Der Usability-Experte Steve Krug schreibt in “Don’t make me think!” ab Seite 75 über das optimale Erscheinungsbild von Breadcrumbs.

Demnach sollte eine Breadcrumb-Navigation im Idealfall:

  • oben platziert sein
  • zwischen den einzelnen Levels ein größer-als-Zeichen ‘>’ enthalten (Doppelpunkt ‘:’ oder ein Slash ‘/’ geht auch)
  • in einer kleinen Schriftart geschrieben sein
  • die Worte ‘Sie befinden sich hier:’ enthalten und
  • die angezeigte Seite auf der man sich befindet, sollte in fetter Schrift gesetzt und nicht klickbar sein.

Alles klar! Aufbauend auf diesen Vorschlägen, hier nun das folgende PHP-Script:

 <?php
    $an="Sie befinden sind hier: ";
    $home="http://www.drweb.de/"; // Hier Ihre Domain
    $pie=explode("/","$_SERVER[PHP_SELF]");
    $tr=" > "; // Alternativ: ':', '/'
    $b=count($pie);
    echo $an."<a href=\"".$home."\">Startseite</a>";
    // Alternativ: 'Home', 'Start'
    for($a=1;$a<$b-1;$a++){
    $ta=$ta.$pie[$a]."/";
    echo $tr."<a href=\"".$home.$ta."\">".ucfirst($pie[$a])."</a>";}
    $file=explode('.',ucfirst($pie[$b-1]));
    echo "<b>".$tr.$file[0]."</b>";
    ?>

Fügen Sie diesen Codeabschnitt auf allen Seiten die mit der Breadcrumb-Navigation ausgestattet werden sollen, an der gewünschten Position ein.

Das Script arbeitet recht einfach:

  • per ‘explode(“/”,”$_SERVER[PHP_SELF]“)’ wird die momentan aktuelle URL mit Hilfe des Trennzeichens ‘/’ aufgelöst und in ein Array geschrieben.
  • ‘Startseite’ wird mit einem Link zu Ihrer Domain ausgegeben.
  • Anschließend wird mit einer Schleife jedes Element aus dem Array mit sich selbst verlinkt, per ‘ucfirst’ das erste Zeichen jedes vorhandenen Ordners grossgeschrieben und mit dem Trennzeichen ‘/’ ausgegeben.
  • Und in der Folge die momentan aktuelle Datei, diesmal ohne Verlinkung und auch ohne Dateiendung, angezeigt.

Da das Script die Ordner- und Dateinamen anzeigt, achten Sie bereits bei der Vergabe von Bezeichnungen der einzelnen Ordner auf eine lesbare Struktur. Immerhin liest sich:

Sie befinden sich hier: Startseite > Onlineshop > Computer > Eingabegeräte

besser als

Sie befinden sich hier: Startseite > Sho > Comp > Index

Nach dem Einbau, steht den Benützern Ihrer Website eine voll-funktionsfähige Breadcrumb-Navigation zur Verfügung, die nicht auf aktiviertes JavaScript angewiesen ist, sich bestes für eine korrekte Indexierung durch Suchmaschinen eignet und auch den Segen von Steve Krug bekommen sollte.

7 Kommentare zu „Breadcrumb-Navigation mit PHP

  1. Volker am 26. November 2008 um 23:10

    Danke, endlich mal ein richtig gute anleitung, um die seiten zu optimieren. nochmals danke

  2. Volker am 26. November 2008 um 23:12

    das kommt davon, wenn man zu schnell mit dem tippen ist. sorry

  3. So eine Leiste:D - html.de Forum - HTML f am 25. April 2009 um 10:52

    [...] und Gretel" hei

  4. Domenico am 20. Mai 2009 um 17:47

    Muss schon sagen, genau so was habe ich gesucht
    danke

  5. Petra am 10. Juni 2009 um 16:48

    Supergeschichte, nur leider habe ich eine interne Umleitung auf meiner Domain. Da muss ich wohl etwas weiterpfriemeln. Gruß. Petra.

  6. Mike am 8. September 2009 um 16:40

    Stammt der Begriff Breadcrumb (deutsch: Brotkrumen) nicht aus dem Märchen “Hänsel und Gretel”?

  7. Yassine am 23. August 2010 um 16:26

    Also ich dachte mit meinem jetzigen PHP Stand könnte ich sowas noch nicht, aber das Beispiel hier ist so simpel, dass es schon wieder genial ist!
    Danke! ;D

Ein Kommentar? Schön!

Wir freuen uns immer über Leser, die durch nützliche und konstruktive Beiträge zum Thema eine Diskussion anstoßen oder den Artikel mit weiteren Informationen anreichern. Alle Kommentare werden in diesem Sinne moderiert. Zum Kommentar-Fairplay gehört für uns auch der Einsatz von rel="nofollow". Bitte verwenden Sie zudem als Namen weder eine Domain noch ein spamverdächtiges Wort. Vielen Dank!

*