{PROJECT} ../../template/home_nl.ini {GRAFIK_LINKS} $home/gifs/li_phpcms.gif {LOGO_1} $home/gifs/cmslogo1.gif {LOGO_2} $home/gifs/cmslogo2.gif {MENU} 00.08.12.07 {TITEL} Menu's {CONTENT}
Wanneer u grotere websites wilt maken heeft u een navigatie systeem nodig.
Wanneer u geen gebruikt wilt maken van frames of plug-in's, dan zit er normaal gesproken niets anders op dan handmatig op elke pagina
menu-links in te voegen.
Extra vervelend is het, wanneer u achteraf een of meerdere pagina's vergeten bent, of een menu wilt wijzigen...
Om dit probleem op te lossen, heeft phpCMS een dynamisch menusysteem gekregen.
U hoeft hiervoor alleen maar een menunummer op te nemen in uw contentbestand en dit nummer samen met wat andere velden op te nemen in een menubestand.
Het is mogelijk dat meerdere pagina's dezelfde menunummers gebruiken.
Per project maakt u dan nog een menutemplatebestand aan, waarin u de precieze formattering van de afzonderlijke
menu's vastlegd. U kunt in dit menutemplate voor actieve en niet actieve menu's afzonderlijk de opmaak met normale HTML-Tags instellen.
Bij de aanroep van het contentbestand wordt door de Parser aan de hand van het menunummer in het menubestand de status van het contentbestand uitgewisseld. Daarna worden de menu's in het template ingevoegd. Afhankelijk van de status van het contentbestand worden dan de menupunten als actief of niet-actief opgebouwd.
Submenu's worden alleen dan getoond, als ze bij het net uitgekozen (hoofd) menupunt horen. Er zijn zo theoretisch oneindig veel menulagen mogelijk. Maar om dit bruikbaar te houden kunt u dit beter beperken tot de praktische grens van maximaal 3 lagen.
Een menubestand is een normaal tekstbestand, dat met iedere tekstverwerker gemaakt kan worden. De bestandsextensie is vrij kiesbaar. Ik heb mezelf aangeleerd om voor elk menubestand de extensie ".mnu" te gebruiken, zodat ik het overzichtelijk kan houden.
Als eerste kiest u een naam voor de menulaag. Ikzelf start altijd met het hoofdmenu "MAIN", maar ook deze naam is weer vrij kiesbaar. Als veldbenaming voor menunamen gebruiken we "MENU:". Dit ziet er dan bijvoorbeeld zo uit:
MENU: MAIN
Verder mag er niets op deze regel staan. Daarna gaat u verder met de keuze's voor deze menulaag. De menuklasse, de link en de naam van de menukeuze moeten minimaal ingesteld worden. Maar daarnaast kunt u naar eigen wens nog extra velden aangeven.
Extra velden gebruikt u bijvoorbeeld wanneer u in plaats van een tekstmenu gebruik wilt maken van grafische symbolen. In zo'n geval geeft u de locatie van het grafische bestand in een extra veld aan. Of u wilt gebruik maken van bijzondere scheidingstekens tussen de menukeuze's, etc. etc.
Een regel waarin een menu wordt ingesteld ziet er dan bijvoorbeeld als volgt uit:
| |||||||||||||||