Posted By

kopfaction on 05/27/11


Tagged

navigation breadcrump


Versions (?)

Breadcrumb-Navigation mit PHP


 / Published in: PHP
 

URL: http://www.drweb.de/magazin/breadcrumb-navigation-mit-php/

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[PHPSELF]")' 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.

    1. <?php
    2. $an="Sie befinden sind hier: ";
    3. $home="http://www.drweb.de/"; // Hier Ihre Domain
    4. $pie=explode("/","$_SERVER[PHP_SELF]");
    5. $tr=" > "; // Alternativ: ':', '/'
    6. $b=count($pie);
    7. echo $an."<a href=\"".$home."\">Startseite</a>";
    8. // Alternativ: 'Home', 'Start'
    9. for($a=1;$a<$b-1;$a ){
    10. $ta=$ta.$pie[$a]."/";
    11. echo $tr."<a href=\"".$home.$ta."\">".ucfirst($pie[$a])."</a>";}
    12. $file=explode('.',ucfirst($pie[$b-1]));
    13. echo "<b>".$tr.$file[0]."</b>";
    14. ?>

    Report this snippet  

    You need to login to post a comment.