WebsiteBaker - Tips
Submenu, alleen als hij bestaat |
| WebsiteBaker - Tips >> Code / Hacks |
Een website template zoals deze site gebruikt heeft een menu bovenin de pagina, maar zodra er sub-menu regels zijn worden die op een andere plaats neer gezet.
Om zo'n submenu netjes te kunnen formatteren kan je die in een <div> plaatsen.
<div id="sidebar1">
<h3>SubMenu</h3>
<?php show_menu2(1, SM2_ROOT+1, SM2_START); ?>
</div>
Alleen als er geen submenu items zijn, wordt toch de <div> en de <h3> header getoond.
Een simpele manier om dit te voorkomen is de volgende:
<?php
// Submenu region, only shown when submenu's are available
ob_start();
show_menu2(1, SM2_ROOT+1, SM2_START);
$childmenu=ob_get_contents();
ob_end_clean();
if ($childmenu!="") {?>
<div id="sidebar1">
<h3>SubMenu</h3>
<?php echo $childmenu; ?>
</div>
<?php } ?>
De PHP functie ob_start() zorgt ervoor dat de output van de functie niet naar het schermwordt gestuurd, maar naar een "output_buffer". De data die in de buffer wordt gezet vang je vervolgens op in een variabele met de functie "ob_get_contents()". Tenslotte sluit ob_end_clean() het opvangen weer af.
Vervolgens kan je simpel testen of er data in de variabele zit, waarna je kan besluiten of je de data ook wil laten zien. Nu is het ook mogelijk om de data binnen een <div> te zetten, en er eventueel data voor of achter te zetten.
<< Naar het overzicht
Commentaren
Commentaar toevoegen
Onderwerpen
- Modules (5)
- Snippets (4)
- Code / Hacks (10)
- Templates / CSS (4)
- Droplets (1)
- Van alles (1)
