Wie nennt man das?

kevkev

Erfahrenes Mitglied
Hi,

Ich wollte fragen wie man denn diese "Leisten" nennt, die den aktuellen Status anzeigt, wo genau man sich auf einer Homepage befindet(siehe bild).

Und wie realisiert man soetwas am besten?
Ich denke Ich habe mal ein Tutorial drüber gesehen *nachdenk*.

Gruß Kevin
 

Anhänge

  • leiste.JPG
    leiste.JPG
    3 KB · Aufrufe: 118
Hallo,

hierfür wird meistens der Name "Breadcrumb-Navigation" verwendet. Zumindest könntest du mit diesem Stichwort suchen.

Die Erzeugung hängt vom Aufbau deiner Site ab, ob du z.B. die Inhalte statisch in Dateien oder dynamisch in einer DB liegen.
 
Hi,

Ahh, vielen dank :)!

Also bei mir sind die Seiten in nem array geschrieben, das so aussieht:
---
$sites['impressum'] = array("Impressum" ,"./impressum.php");
$sites['kontakt'] = array("Kontakt" ,"./kontakt.php");
$sites['no_access'] = array("Keine Rechte" ,"./no_access.php");
---
Wenn Ich z.b. ?site=impressum aufrufe, wird im array nach "impressum" gesucht, und wenn gefunden die dort angegebene seite includet.

Ich könnte dann das so machen, das Ich einfach überprüfe, wo sich der User befindet, und dann manuell die Leiste schriebe, praktisch so:
---
if $_GET["site"]=="home" {
echo "home";
}

if $_GET["site"]=="download" {
echo "home > download";
}
---
Das natürlich dann noch verlinkt.

Oder gibts eine einfachere Weise?

gruß kevin
 
Prinzipiell sollte es eine Möglichkeit geben die einzelnen Seite in Kategorien einzuteilen, bzw. sie wie in einem Menü Hauptebenen und Unterebenen zuzuordnen. Damit ist es möglich, eine hierarchische Darstellung zu erzeugen, welche dann im Breadcrumbmenü Verwendung findet.

Als Ausgangspunkt dient dann immer die aktuelle Seite. Ich würde dir vorschlagen, dein Array etwas zu erweitern, z.B. so:

PHP:
$sites[0][0][0][0] =  "Startseite"; 
$sites[0][0][0][1] =  "home.php";
$sites[1][0][0][0] =  "Das Unternehmen";  
$sites[1][0][0][1] =  "unternehmen.php"; 
$sites[1][1][0][0] =  "Firmengeschichte";  
$sites[1][1][0][1] =  "geschichte.php"; 
$sites[1][1][1][0] =  "Jahre 1980-1990"; 
$sites[1][1][1][1] =  "1980-1990.php"; 
$sites[1][1][2][0] =  "Jahre 1990-2000"; 
$sites[1][1][2][1] =  "1990-2000.php";

Dieser Aufbau kann dann auch für die restliche Site-Navigation Verwendung finden.
 
Hi,

ok, aber Ich hab mal mit einem eigenen Ansatz probiert:
PHP:
$links['home'] = array("Home", "?site=home");
$links['user_menu'] = array("User Menü", "?site=user_menu");
$links['suche'] = array("Suche", "?site=suche");
$links['impressum'] = array("Impressum", "?site=impressum");
$links['faqs'] = array("FAQ´s", "?site=faqs");
$links['kontakt'] = array("Kontakt", "?site=kontakt");
$links['profil'] = array("Profil", "?site=user_menu&site2=profil");

$nav_elements['home'] = array("home");
$nav_elements['user_menu'] = array("user_menu");
$nav_elements['user_menu;profil'] = array("user_menu", "profil");

echo "Sie befinden sich hier: ";

foreach ($nav_elements as $key => $value) {
	$explode = explode(";", $key);
	if (count($explode)==1) {
	    if ($key==$_GET["site"] AND $_GET["site2"]=="") {
	        foreach ($value as $value2) {
				echo "<a href=\"".$links[$value2][1]."\">".$links[$value2][0]."</a>";
			}
	    }
	} else {
	    if ($explode[0]==$_GET["site"] AND $explode[1]==$_GET["site2"]) {
			$x=1;
	        foreach ($value as $value2) {
				if ($x!=count($value)) {
					echo "<a href=\"".$links[$value2][1]."\">".$links[$value2][0]."</a> > ";
				} else {
					echo "<a href=\"".$links[$value2][1]."\"><b>".$links[$value2][0]."</b></a>";
				}
			$x++;}
	    }
	}
}

$links definiert die Namen und die URL´s zu den Seiten.

$nav_elements ist praktisch die Zuordnung der Seiten.
Ist der Schlüßel von $nav_elements gleich $_GET["site"] oder $_GET["site2"] werden die Infos aus dem Array genommen, und wiederrum die Namen und Links aus dem $links Array.

Soweit funktioniert das ganz gut, ist zwar ne Menge arbeit, aber so kann Ich ganz genau bestimmen, was wo angezeigt wird :)!

gruß kevin
 
Am einfachsten ginge dies, wenn dein URL-Design eine ähnliche Struktur aufweist, beispielsweise „/foobar-1/foobar-2/…/foobar-n/“. Diese ließe sich ganz einfach in die einzelnen Ebenen auflösen und wäre auch für den Benutzer einfacher zu verstehen.
 
Hi,

Ja, wäre warscheinlich besser, aber Ich hab eine Datei, die den kompletten Header enthält, wie z.b. die config, funktionen, etc.
Aber diese Config verweißt auf Dateien, mit einem relativen Pfad, und wenn Ich nun diese header Datei in 2 unterordner include, passen die realtive Pfade nicht mehr.

Außerdem bin Ich zu faul um das nochmals zu ändern :p .

Gruß Kevin
 
Aber diese Config verweißt auf Dateien, mit einem relativen Pfad, und wenn Ich nun diese header Datei in 2 unterordner include, passen die realtive Pfade nicht mehr.
Du könntest auch intelligente absolute Pfadangaben nutzen, die anhand der tatsächlichen Position des Skriptes zusammengesetzt werden.
 
Ich kann dir nur die möglichen Lösungswege aufzeigen. Welchen du schließlich wählst, ist deine Entscheidung.
 
Zurück