php: meny - breadcrumbs

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2005-06-29 22:58

Hej,

Först av allt, följande är breadcrumbs

Ursprungligen av 99mac:

99mac Forum > I praktiken > Utveckling

Får aldrig riktigt till någon bra menystruktur och vill den här gången prova en dropdown-meny i kombination med en breadcrumb-meny. Har läst PHP Anthology där man sparar sin meny i en databas och sätter parents för varje meny-objekt så man på något sätt kan bygga en sökväg uppåt och bygga sin breadcrumbsväg. Tycker det verkar omständigt, behöver man inte ett shysst gränssnitt mot databasen också i så fall? Känns som mycket arbete bara för att göra länkarna till sin meny.

Någon som sparat infot om sin meny i tex XML eller dylikt för att sen parsa den och få till breadcrumbs-strukturen? Alla tips på hur en bra meny byggs upp är varmt välkomna!

Vänligen
Ivar

  • Medlem
  • Stockholm
  • 2005-06-30 00:35

Har googlat runt en stund och det bästa jag kan hitta än så länge är att man ska bygga upp sin adressrad så pass bra att man i stort sett bara bryter ner den till breadcrumbsmenyn men att man kompletterar med en associative-array med snyggare namn (tex /files/ kan skriva "> Filarkivet >" eller dylikt).

Idéer och åsikter välkomnas!

  • Oregistrerad
  • 2005-06-30 13:22
Ursprungligen av ivar:

Får aldrig riktigt till någon bra menystruktur och vill den här gången prova en dropdown-meny i kombination med en breadcrumb-meny. Har läst PHP Anthology där man sparar sin meny i en databas och sätter parents för varje meny-objekt så man på något sätt kan bygga en sökväg uppåt och bygga sin breadcrumbsväg. Tycker det verkar omständigt, behöver man inte ett shysst gränssnitt mot databasen också i så fall? Känns som mycket arbete bara för att göra länkarna till sin meny.

Här är en funktion som jag har använt.
Det är kanske som du säger lite krångligt att göra på det sättet om man inte redan har innehållet i en databas.
En rekursiv funktion skulle du kunna använda även på ett XML-träd.

function get_bread_crumbs($cat_id) { // Creates the breadcrumbs navigation
		if ($cat_id != 0) {
			$rs = mysql_query("SELECT * FROM tbl_snippet_categories WHERE id = $cat_id");
			$row = mysql_fetch_array($rs);
			return get_bread_crumbs($row["parent_id"]) . "» <a href=\"index.php?cat_id=" . $row["id"] . "\">" . $row["name"] . "</a> ";
		}
		else {
			return "<a href=\"index.php\">home</a> ";
		}
	}
1
Bevaka tråden