Het aanroepen van templates

Om templates te kunnen implementeren in je website zul je ze moeten aanroepen in je PHP code. Smarty kent hier meerdere manieren voor:

  • Het aanroepen en direct weergeven ("display" methode)
  • Het aanroepen en plaatsen in een variabele ("fetch" methode)


Voor het tonen van opmaak + content op een website gebruik je in de meeste gevallen de "display" methode. Voor het versturen van bijvoorbeeld een HTML nieuwsbrief gebruik je de "fetch" methode.

Ik zal dit schetsen aan de hand van een voorbeeld:

"display" methode:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//Roep het bestand aan waarin de Smarty classes staan
require("../Smarty/Smarty.class.php");

//Maak een nieuw object aan genaamd "Smarty"
$smarty = new Smarty();

$smarty->template_dir = "templates"; //Hierin staan de templatebestanden waarvan je gebruik maakt in je project
$smarty->compile_dir = "templates_c"; //Hierin komen de gecompileerde templatebestanden te staan
$smarty->cache_dir = "cache"; //Het is mogelijk om templates te cachen zodat ze niet telkens opnieuw gecompileerd hoeven worden. In dat geval is dit de map waar de gecachede bestanden in komen te staan.
$smarty->config_dir = "configs"; //Deze map wordt gebruikt voor het opslaan van configuratie-bestanden.

//Toon pagina op scherm van gebruiker

$smarty->display("pagina.tpl"); //Templatebestand wordt aangeroepen uit "templates" map
?>


"fetch" methode:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//Roep het bestand aan waarin de Smarty classes staan
require("../Smarty/Smarty.class.php");

//Maak een nieuw object aan genaamd "Smarty"
$smarty = new Smarty();

$smarty->template_dir = "templates"; //Hierin staan de templatebestanden waarvan je gebruik maakt in je project
$smarty->compile_dir = "templates_c"; //Hierin komen de gecompileerde templatebestanden te staan
$smarty->cache_dir = "cache"; //Het is mogelijk om templates te cachen zodat ze niet telkens opnieuw gecompileerd hoeven worden. In dat geval is dit de map waar de gecachede bestanden in komen te staan.
$smarty->config_dir = "configs"; //Deze map wordt gebruikt voor het opslaan van configuratie-bestanden.

//Stuur een email naar een gebruiker

mail($emailadres,"Nieuwsbrief",$smarty->fetch("email.tpl")); //Templatebestand wordt aangeroepen uit "templates" map
?>


Je ziet nu het verschil tussen beide methodes. Steeds wordt een .tpl bestand aangeroepen uit de map die we als "$smarty->template_dir" gedefinieerd hebben.

Je kunt dit ook zelf proberen, maak een .tpl bestand aan met wat tekst en opmaak in de map "templates", en probeer de verschillende methodes eens uit aan de hand van de voorbeelden die ik je gegeven heb.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Smarty installeren en configureren
  3. Hoe kom ik aan Smarty ?
  4. Het aanroepen van templates
  5. Toekennen en aanroepen van variabelen
  6. Statements, functies en modifiers
  7. Ik wil meer weten
  8. Help, ik begrijp iets niet.
  9. Tot slot

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.