Just nu i M3-nätverket
Jump to content

Menuträd


DNAGoa

Recommended Posts

Har tjat om det förut men det verkar ingen som förstår mig så bra dessvärre bara då :(

 

Här kommer en förklaring som folk fattar hoppas jag :P Som nedan använder jag databasen links som ger ut id, head, link och text.

 

Så fort head har 'yes' så blir det huvudmenyer så att säga.

 

Exempel:

HÅRDVARA

MJUKVARA

 

Så fort man klickar på någon av dessa "huvud" så ska det komma fram deras underkataloger.

 

HÅRDVARA

- HÅRDISKAR

- CD-R

MJUKVARA

 

När man klickar på någon av dessa så kommer det fram underkatalogens, underkatalog.

 

HÅRDVARA

- HÅRDISKAR

-- 2.5"

-- 3.5"

- CD-R

MJUKVARA

 

HAr försökt bygga ett menuträd länge men det verkar som jag inte är tillräcklig bra på detta än :(

 

Så jag skulle vilja ha hjälp så att säga. väldigt mycket hjälp.

 

 

People can be stupid... but never to stupid!

 

[inlägget ändrat 2005-05-05 10:15:03 av DNAGoa]

Link to comment
Share on other sites

  • 4 weeks later...

Eftersom du är inne i PHP-forumet antar jag att du vill ha hjälp med själva datastrukturen och inte Javascriptandet och allt annat som har med Menyträd att göra.

 

Jag skulle skapa tre klasser; MenuObject, HeadMenuItem och SubMenuItem som motsvaras med likadana tabeller i databasen. Skilnaderna mellan de två klasserna 'Head..' och 'Sub..' skulle vara att HeadMenuItem inte har ett attribut som heter 'parent'. Därav kan SubMenuItem ärva från HeadMenuItem.

 

MenuObject

- headMenuItems (en samling av HeadMenuItems eller id-nummer som motsvaras av HeadMenuItems)

 

HeadMenuItem

- id (Ett unikt nummer som identifierar objektet)

- subitems (en samling av objektet SubmenuItem, eller en samling med id-nummer där varje nummer är ett id till en SubMenuItem-instans)

- link (texten som ska finnas i en 'a href')

- name (Namnet på länken/menyobjektet)

 

SubMenuItem extends HeadMenuItem

- parent (Ett HeadMenuItem eller ett id-nummer som motsvarar ett HeadMenuItem)

 

Sedan är det bara att initialisera strukturen.. exempelvis såhär, lite fult och snabbt:

 

[color="#0000ff"]function[/color] initializeMenu()
{
    $tMenu = [color="#0000ff"]new[/color] MenuObject();

    $tHead = [color="#0000ff"]new[/color] HeadMenuItem();
    $tHead->id = enFunktionSomSkaparEttNyttIDNummer();
    $tHead->name = 'Gubbdagis';
    $tHead->[color="#ff0000"]link[/color] = 'javascript:openTree('%1')';

    $tSubItems = [color="#0000ff"]array[/color]();

    $tSub1 = [color="#0000ff"]new[/color] HeadMenuItem();
    $tSub1->id = enFunktionSomSkaparEttNyttIDNummer();
    $tSub1->name = 'Claes Ohlsson';
    $tSub1->[color="#ff0000"]link[/color] = 'http:[color="#006400"]//www.gubbdagis.se';[/color]
    $tSub1->parent = $tHead->id;
    $tSub1->saveMe(); [color="#006400"]//Metod som sparar objektet i databasen[/color]

    $tSubItems[] = $tSub1->id;

    $tHead->subItems = $tSubItems;
    $tHead->saveMe();

    $tMenu->headMenuItems[] = $tHead->id;
    $tMenu->saveMe();
}

[log]Med reservation för massor av fel[/log]

 

 

Sen är det bara JavaScriptningen kvar! :)

Gav det någon hjälp?

 

 

// Jonas

 

[inlägget ändrat 2005-05-30 23:23:39 av redRemedy]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...