Problem bei Menüstruktur per Array
Mandi
- php
Hi,
ich habe ein logisches Problem bei einer Menüstruktur mit einem Array. Ich möchte ein Dropdownmenü mit diversen Kategorien und Unterkategorien machen. Das ganze wollte ich per Array lösen, allerdings stoße ich ejtzt auf ein Problem.
Ich wollte die Indexnamen der Arrays als Kategorienamen verwenden, nur geht das nicht, da die Indexnamen ja nur die Zeichen a-zA-Z_ enthalten dürfen, oder? Ich bräuchte allerdings noch viele Zeichen mehr (Umlaute, Leerzeichen, Sonderzeichen, etc.)
Wie wird denn sowas normal realisiert, denn es ist ja nicht unüblich solche Menüstrukturen per Array zu machen, allerdings für mich das erste Mal, da ich es sonst immer per Datenbank gemacht habe.
Bye, Mandi
Hi Mandi,
ich habe ein logisches Problem bei einer Menüstruktur mit einem Array. Ich möchte ein Dropdownmenü mit diversen Kategorien und Unterkategorien machen. Das ganze wollte ich per Array lösen, allerdings stoße ich ejtzt auf ein Problem.
Ich wollte die Indexnamen der Arrays als Kategorienamen verwenden, nur geht das nicht, da die Indexnamen ja nur die Zeichen a-zA-Z_ enthalten dürfen, oder? Ich bräuchte allerdings noch viele Zeichen mehr (Umlaute, Leerzeichen, Sonderzeichen, etc.)
tja, dann bleibt dir wohl nix anderes übrig, als die indexnamen nicht als Index, sondern als Wert zu speichern.
Wie wird denn sowas normal realisiert, denn es ist ja nicht unüblich solche Menüstrukturen per Array zu machen, allerdings für mich das erste Mal, da ich es sonst immer per Datenbank gemacht habe.
Tja, da ich z.B. neben der Bezeichnung und URI für ein Menü auch noch eine Beschreibung oder andere "Attribute" (Flags) gespeichert habe, mache ich das idr. immer so:
menü-array:
[1] => [0] => [value] = MenüPunkt1 Level0 Bezeichnung
[uri] = URI/-L
[....] = ...
[1] => [0] => [value] = Menüpunkt1 Subpunkt1 (Level2) Bezeichnung...
[1] => [0] => [value] = Menüpunkt1 Subpunkt1 Subsubpunkt1 (Level3) Bezeichnung
usw. Die Infos über das Submenü sind also immer im element [0] gespeichert, während das menü erst bei [1] beginnt.
so lassen sich solche daten auch sehr bequem in einer datenbank speichern, erst gestern nacht habe ich damit endlich ein größeres projekt zu einer beta-version geführt.
Grüße,
sven
Huhu Mandi
da bei mehrfach verschachtelten Array-Strukturen schnell
die Übersicht verloren geht würde ich es ungefähr wie folgt lösen.
Die Menuestruktur wird in einer txt-Datei in einer für Menschen
leicht wartbaren Schreibweise abgelegt.
Z.B. so
Vorspeise ;vorspeise.html
- ein Teller Suppe ;suppe.html
- ein Stück Käse ;kaese.html
-- Blauschimmel ;etc.
-- Hartkäse
- ein Stück Brot
Hauptgang
- Kartoffeln mit ;tuefften.html
-- Quark
-- Spiegelei
- Fisch auf Salatbett
Nachtisch
- gestrichen wegen gibt's nicht
Diese Datei wird per Skript in ein Array gewandelt mit dem dann
das Menue gebaut wird.
Das Array hat dann z.B. so eine Struktur
$element[m] = array (
'LABEL' => 'Kartoffeln mit',
'HREF' => 'tuefften.html',
'PARENT' => n,
);
etc.
das nur mal so als Idee
Viele Grüße
lulu