Dynamisk, flerdimentionell meny med sql

Permalänk
Medlem

Dynamisk, flerdimentionell meny med sql

Jag började precis på ett nytt projekt och tänkte att jag skulle ta tag i ett av dom uråldriga problemen igen. Nämligen en dynamisk, flerdimensionell meny från databas.
Problemet ligger i vilken huvudmeny som ska vara markerad.
Tidigare har jag alltid haft någon form av struktur där en undermeny håller ordning på sin huvudmeny och så vidare, men detta faller så fort samma undermeny finns i två huvud menyer eftersom det då inte går att skilja dom åt. Den ända alternativa lösning jag har hittat är att skicka med en variabel för huvudmenyn men då jag ska försöka snygga till mina URL:er så funkar inte det heller.

Är det någon som har lyckats lösa det hela eller hur gör ni?

Nu tänkte jag ge mig på zend framework, så är det någon som vet en objekt orienterad lösning till det systemet så hade det varit optimalt.

Tack på förhand
/Micke

Permalänk
Medlem
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Xyntica
Läs igenom Managing Hierarchical Data in MySQL.

Tack för infon, det var mycket givande rent generellt men ingen av metoderna löser problemet. För att säga det hela kort: "Hur vet jag var i hirarkin jag är när det finns två identiska element i hirarkin med olika parents?"

Alla förslag är välkommna, även om det rör sig om helt andra angrips sätt.

Permalänk
Medlem

Jag skulle nog skapa två "olika" sidor i dbn, men att den ena bara funkar som en shadowcopy av den andra. De CMS-system jag har jobbat med är ofta uppbyggda så.

Så typ:

pageId | parentId | headline | content | readDataFrom 1 | 0 | Meny 1 | text.. | 0 2 | 0 | Meny 2 | text.. | 0 3 | 1 | Sida | innehåll | 0 4 | 2 | Skugga | | 3

Nått sånt. Kanske uppbyggt med lite relationstabeller.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av manpower
Jag skulle nog skapa två "olika" sidor i dbn, men att den ena bara funkar som en shadowcopy av den andra. De CMS-system jag har jobbat med är ofta uppbyggda så.

Så typ:

pageId | parentId | headline | content | readDataFrom 1 | 0 | Meny 1 | text.. | 0 2 | 0 | Meny 2 | text.. | 0 3 | 1 | Sida | innehåll | 0 4 | 2 | Skugga | | 3

Nått sånt. Kanske uppbyggt med lite relationstabeller.

Nu förstår jag inte riktigt hur du menar? Hur skulle det hjälpa?

Jag gör en liten skiss för att förtydliga mig ytterligare: Som det är nu så ser hirakrin ut som följer med menyerna som noder och varje länk har en referens till en meny.

meny1
---------
länk1
länk2

meny2
---------
länk1
länk3

men när en sida visas har jag bara tillgång till URL:en vilket är samma för båda "länk1", hur skulle jag bygga upp det för att veta om jag är i meny1 eller meny2?

Permalänk
Medlem

Om du vill ha samma URL så blir det svårt.

Tanken var att "Länk1" i det här sammanhanget var två sidor i databasen, varav den ena innehöll data och den andra innehöll en referens till datat. Då kommer självklart även URLerna att bli olika, och det verkar du inte vilja ha, så denna lösning är inget för dig..

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av manpower
Om du vill ha samma URL så blir det svårt.

Tanken var att "Länk1" i det här sammanhanget var två sidor i databasen, varav den ena innehöll data och den andra innehöll en referens till datat. Då kommer självklart även URLerna att bli olika, och det verkar du inte vilja ha, så denna lösning är inget för dig..

Ahh, du har en bra poäng där! tack. URL:era behöver inte nödvändligt vara identiska men jag kunde inte hitta något sätt för dom att inte bli det. Får ta en funderare på det där.