Nieuwe skin (4)
[Het zat me toch niet lekker][1] en heb het uitgeplozen!
In de .tpl bestanden van phpBB kan geen php-code worden gebruikt. Om nu toch gebruik te maken van de include-functie zijn er een aantal stappen nodig:
- codeer de include-functie in de page_header.php Ik heb onderstaande code gebruikt:
//include code
ob_start();
include("../site_header.php");
$my_header = ob_get_contents();
ob_end_clean();
//include code
De functie [ob_start][2] is een functie die een speciale buffer creeert. Dit is noodzakelijk omdat anders de beruchte foutmelding Headers already sent verschijnt (of kan verschijnen). De functie [ob_clean][3] maakt de outputbuffer weer leeg.
- definieer een variable in de page_header.php
//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//
$template->assign_vars(array(
'MY_HEADER' => $my_header, //send to the header tpl file
- gebruik de variable in de overall_header of overall_footer om de uitkomst van de include te tonen. Omdat ik gebruik maak van een aparte div voor de header, kan ik de variable in de overall_footer.tpl plaatsen.
De code om de variable te tonen is:
En hiermee heb ik bereikt dat ik maar 1 bestand hoef aan te passen om de header voor de hele site (weblog, forum en links- en smileypagina’s) aan te passen!
[1]: /archives/nieuwe-skin-3
[2]: http://nl2.php.net/ob_start
[3]: http://nl2.php.net/manual/en/function.ob-clean.php