phpbar.de logo

Mailinglisten-Archive

Antwort: [php] Brotkrumen-Navigation

Antwort: [php] Brotkrumen-Navigation

Michael.Glaser at spb.de Michael.Glaser at spb.de
Fre Nov 12 12:25:28 CET 2004


Hallo!

> Ich habe eine kleines Problem: Ich muss eine rückwärtige Navigation
> aufbauen - eine Brotkrumen-Navigation.
> Das ganze soll so aussehen:
> Startseite -> Unterseite A -> Unterseite B -> Produkt


Habe neulich ein ählniches Problem gelöst und habe dies mit einer Session.
Code-Schnippsel anbei:

---------snipp-------------
$oldNavPath = $_SESSION['history'];
$seenFlag = false;
for ($counter = 0; $counter < sizeof($oldNavPath); $counter++) {
          //Habe ich den Absprungpunkt schon in meiner Historie, dann
          //setze das Flag zum Loeschen um.

     $newNavPath[$counter] = $oldNavPath[$counter];

     if ($oldNavPath[$counter] == $id) {
          $seenFlag = true;
          $counter = sizeof($oldNavPath);
     }
}
     //Wurde der aktuelle Absprungpunkt noch nicht gesehen, dann wird
     //er hinten angehaengt
if (!$seenFlag) {
     $newNavPath[sizeof($newNavPath)] = $id;
}

     //Speichern der Navigationsinformation in der Session
$_SESSION['history'] = $newNavPath;

     //Ausgeben der Navigationsiinformationen
showNavBar($dbHdl, $newNavPath);
----------snipp--------------------


Funktionsweise grob wie folgt: Beim Aufruf einer neuen Seite aus der
Navigation wird diese "Absprunginformation" mitgegeben. Anschliessend wird
kontrolliert, ob ich schon einmal auf dieser Seite war (Loop-Bildung geht
in manchen Navigationen sehr gut).
Wird eine Seite ein zweites Mal besucht, dann wird die Navigationshistorie
"beschnitten", wird die Seite zum ersten Mal besucht, dann wird das
Ergebnis hinten angehängt.


VIEL SPASS beim Navigieren

CIAO,
     MIKE



php::bar PHP Wiki   -   Listenarchive