Avatar billede zips Juniormester
08. januar 2009 - 20:33 Der er 9 kommentarer og
1 løsning

3 level menu til 5 level menu

Jeg prøver at ændre denne menu fra en 3 level menu til en 5 level menu, men kan ikke få det til at virke som det burde.

På denne test side er det standard 3 level menu http://cmsimple.ws/test-sider/menu/
Her er det den 5 level menu jeg prøver at få rigtige http://cmsimple.ws/test-sider/menu1/

Begge sider har et link level som er den som viser de 5 level, ved at klikke på sitemap kan menu strukturen ses

Jeg har skrevet på siderne hvad det skulle vises ved hver level som hjælp.

Original 3 level script kan ses her http://cmsimple.ws/test-sider/menu1/downloads/advancedtoc.php.txt
Her er det 5 level script jeg har ændret http://cmsimple.ws/test-sider/menu1/downloads/mod_advancedtoc.php.txt

Det som ikke virker, er at den viser for mange level, men da min php viden ikke er stor kan jeg ikke få alle de if til at makke ret.

Håber I kan hjælpe mig :)
Avatar billede jakobdo Ekspert
09. januar 2009 - 09:11 #1
Du udskriver: Her skal kun vises level 1, 2-1, 2-2, 3-1, 3-2, 4 og 5
Men hvis du kigger i din URL, har du jo faktisk den korrekte sti:
Level_1:Level_2-2:Level_3-2:Level_4:Level_5
Så det er jo "bare" dem du skal have fat i.
Avatar billede zips Juniormester
09. januar 2009 - 15:46 #2
Hej jakobdo

Ja det er rigtigt at level i min url er rigtig, det som det script gør er at vise og skjule level og styre css reglerne for denne menu, dvs. at den skal vise alle level 2 hvis man klikker på level 1 og alle level 3 hvis man klikker på en level 2 som har level 3 under sig osv.

Så det er noget med det visuelle at gøre, det som jeg har fået den til nu er at den blot løber nogle if igennem og den viser for mange åbne menu tab.

Jeg har lagt 2 af disse if ind for at få den visning jeg har nu, hvor == 3 tallet er level 3, i den anden er det så == 4

if ($l[$hcmem[$j]] == 3)
                    {
                    if ($start < 2 && $end > 1)
                        $ta[]=$hcmem[$j];

                    $r1=$j;
                    $s5=false;
                    }

Men det er kun så man kan se alle 5 level at det er som det er, jeg kan ikke finde ud af hvordan de "for og if" virker som der er og åbner den sidste level.
Avatar billede jakobdo Ekspert
13. januar 2009 - 08:23 #3
zips: Jeg kan desværre ikke helt finde rundt i din kode og gider nok heller ikke helt desværre.
Hvilke linjer er det du har prøvet at hacke ? :o)
Avatar billede zips Juniormester
13. januar 2009 - 11:30 #4
Nej jeg er godt klar over at koden ikke er nem at finde rundt i, da den har mange input fra selve cms systemet :)

Men det er fra linje 65 og ned til 112 i filen mod_advancedtoc.php.txt

Det er her at det finder hvilke css regler der skal bruges, om det så kun er der det skal rettes ved jeg ikke, men det er der jeg stadig prøver at få det til at virke på alle level.

Det er helt iorden ikke at gide, jeg er bare kørt helt fast og ville lige prøve, det ville jo være meget bedre at jeg selv løste det, men jeg mangle lige at læse nogle/mange flere bøger før jeg kan :)
Avatar billede jakobdo Ekspert
15. januar 2009 - 13:28 #5
Prøv at lav en side med:

echo '<pre>';
print_r($_GET);
echo '</pre>';

Og se hvilke data som arbejdes med.
Avatar billede zips Juniormester
15. januar 2009 - 20:00 #6
Så har jeg lagt det ind så data stå over menuen og den viser det samme som i adressebaren.

Det er på denne side det er lagt ind http://cmsimple.ws/test-sider/menu1/
Avatar billede jakobdo Ekspert
15. januar 2009 - 20:11 #7
Og hvor har du fundet den menu henne ?
Jeg er sgu lidt blank på den kode. :o(
Avatar billede zips Juniormester
15. januar 2009 - 21:27 #8
Den tilhøre en template som bruges til det dansk cms system cmsimple
http://www.cmsimple.org/ og template her http://cmsimple.ws/download/portal108.zip

Denne template er lavet af Jens Bröcher som bruger den i en del af sine templates som en del af de addons der er til cmsimple http://www.cmsimplewiki.com/doku.php/addons/advanced_toc

Måske den skal på som opgave, men da jeg kan se her på eksperten hvor dygtig du er, kan jeg også se det ikke er noget som lige bliver lavet, da det ikke er mig som skal bruge den, men en jeg hjælper med at få den lavet, er det ikke det store beløb jeg vil bruge, så det blive nok en anden menu som har flere level end 3. som jeg vil råde ham til at bruge.
Avatar billede jakobdo Ekspert
15. januar 2009 - 22:04 #9
Nok kan jeg svare på en del ting, men jeg tror bare jeg nogle gange løber ind i opgaver, hvor jeg har givet op på forhånd, og sådan har jeg det desværre lidt over for denne. (jeg er sgu nok lidt doven, når alt kommer til alt)
Og det jeg faktisk ville sige, var at så god er jeg sgu heller ikke, jeg er bare hjælpsom og på evig pointjagt. :o)
Avatar billede zips Juniormester
03. februar 2009 - 01:03 #10
Lukker og finder en anden menu :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester