Nieuwe skin (4)


Het zat me toch niet lekker 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 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 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:

    {MY_HEADER}

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!


Leave a Reply

Your email address will not be published. Required fields are marked *