Avatar billede coolcom Nybegynder
31. august 2007 - 16:51 Der er 1 kommentar og
1 løsning

Dynamiske undermenuer

Hey..

Jeg er ved at opbygge en side hvor der skal være dynamiske undermenuer på.

Mit design ligger i en fil kaldet skin_global, med en håndfuld funktioner, der indeholder dele af mit design.
Udover det har jeg en fil der hedder class_skin.php. Den samler alle funktionerne fra skin_global.php og ligger et output ind imellem:

               

        print $this->html->tophead($this->module_title, $this->get_css());
        print $this->html->body();
        print $this->html->menu()
        print $this->submenu;
        print $this->html->mid();
        print $this->output;
        print $this->html->footer();


Mit problem er så nu at jeg skal have lavet en undermenu til hver enkelt side.
Denne skal stå der hvor der nu står "print $this->submenu;".

Filen hedder submenu.php, men mit problem er hvordan den skal se ud?

Min database struktur er at hvert hovedmenu punkt har en tabel hvori der så er
id, content, submenu_id, submenu_navn.

Det skal gerne ende med at blive sådan at når man f.eks. trykker på hovedmenu punktet "info" skal index.php?page=info vises, sammen med undermenuerne til den pågældende side. Når man så trykker på et af de undermenu punkter skal index.php?page=info&submenu_id=1(eller et andet tal afhængigt af hvilket punkt man har valgt) vises.


Jeg har lavet følgende struktur over submenu.php:


//------------------------------------------------
//    Definere at denne side ikke må åbnes direkte
//------------------------------------------------

if ( ! defined( "DIRECT" ) )
{    die("<h1>Adgang nægtet</h1>Du har ikke tilladelse til at åbne denne side direkte.");
}

//----------------------------
//    Starter klassen "submenu"
//----------------------------

class submenu {

    //---------------------------------
    //    Definerer de forskellige sider
    //---------------------------------
   
    function pages()
    {
   
        $this->html = $skin->load('skin_blocks');
           
            $menu = !empty($_GET['page']) ? $_GET['page'] : FALSE;
            switch ($menu)
            {
                    case "news":
                        $this->news_submenu();
                    break;
                    case "info":
                        $this->info_submenu();
                    break;
                    case "events":
                        $this->events_submenu();
                    break;
                    case "crew":
                        $this->crew_submenu();
                    break;
                    case "gallery":
                        $this->gallery_submenu();
                    break;
                    case "contacts":
                        $this->contact_submenu();
                    break;
            }
               
        $skin->do_output("$this->output");
    }
   
            //----------------------------------
            //Henter submenuen til news siden
            //----------------------------------
           
            function news_submenu(); {
               
               

            }
           
            //----------------------------------
            //Henter submenuen til info siden
            //----------------------------------
   
            function info_submenu(); {
                   
       
                   
            }
       
            //-------------------------------------------
            //Henter submenuen til arrangementer siden
            //-------------------------------------------
           
            function events_submenu(); {
           
            }
           
            //----------------------------------
            //Henter submenuen til crew siden
            //----------------------------------
           
            function crew_submenu(); {
           
            }
           
            //-------------------------------------
            //Henter submenuen til galleri siden
            //-------------------------------------
       
            function gallery_submenu(); {
           
            }
           
            //-------------------------------------
            //Henter submenuen til contact siden
            //-------------------------------------
       
            function contact_submenu(); {
           
            }
   
   
   
   
   
       
    }
   
}



Så det eneste der driller er faktisk bare at få fyldt de forskellige funktioner ud.
Avatar billede coolcom Nybegynder
01. september 2007 - 20:19 #1
Ingen der har en løsning?
Avatar billede coolcom Nybegynder
18. september 2007 - 21:59 #2
.
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