Statements, functies en modifiers

Net als PHP kent Smarty (zoals je ondertussen begrepen hebt) ook een syntax. Aangezien deze syntax in behoorlijk wat opzichten op die van PHP lijkt is het vrij makkelijk om 'm aan te leren.

Statements
Allereerst is het belangrijk om de noodzakelijke statements onder de knie te krijgen. Een belangrijk statement is het "if"-statement. Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
{if $bedrag > 100}
  Het bedrag is hoger als 100,-.
{else}
  {if $bedrag == 100}
    Het bedrag is 100,-.
  {elseif $bedrag == 70}
    Het bedrag is 70,-.
  {else}
    Het bedrag is {$bedrag},-
  {/if}
{/if}


Zoals je ziet wijkt deze syntax nauwelijks af van die van PHP.

Functies
Functies werken in feite op dezelfde manier, afhankelijk van de specifieke functie. Zo is er bijvoorbeeld de functie {cycle}, die er automatisch voor zorgt dat een waarde automatisch gewisseld kan worden. Dit is bijvoorbeeld nuttig bij tabellen, waarbij de achtergrondkleur om en om gewisseld wordt, zodat de gegevens overzichtelijker worden. Een voorbeeld van de {cycle} functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
{foreach from=$arrNames item=names}
<tr bgcolor="{cycle values="#000000,#FFFFFF"}">
   <td>{$names}</td>
</tr>
{/foreach}


Zoals je ziet zorgt deze functie ervoor dat de achtergrondkleur van een tabel automatisch om en om gewisseld wordt. De syntax van de {cycle} functie is kinderlijk eenvoudig.

Modifiers
Een modifier doet precies wat de naam zegt, het modified iets (iets aanpassen). Deze modifiers zijn over het algemeen erg praktisch, zoals ik aan de hand van het volgende voorbeeld laat zien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<h3>Lange tekst</h3>
<p>{$langeTekst|wordwrap:50}</p>


Soms wordt er gebruik gemaakt van teksten die erg lang zijn, en waardoor de layout soms uitgerekt wordt. Om dit te voorkomen kun je de modifier "wordwrap" gebruiken. Deze doet precies hetzelfde als de PHP functie "wordwrap". Om een modifier te gebruiken plaats je na de naam van de variabele een "|"-teken, gevolgd door de naam van de modifier en de eventuele attributen die je aan de modifier meegeeft.

Custom functies, modifiers
Het is mogelijk om zelf functies en modifiers te ontwerpen. Zo kun je bijvoorbeeld modifiers maken die bepaalde tekens omzetten in smileys, of waarbij BBcode omgezet kan worden naar HTML code. Ook custom functies bieden soms uitkomst voor de problemen waar je tegenaan loopt.

Ondanks deze materie vrij complex is, en buiten de scoop van deze tutorial valt kun je op de volgende locatie meer informatie vinden over custom functies en modifiers:



Waarschuwing
Zoals ik al eerder heb aangegeven is Smarty bedoeld om layout en logica van elkaar te scheiden. Gebruik deze statements, functies en modifiers alleen als het het developen makkelijker maakt. Modifiers hoef je eigenlijk niet te gebruiken als je vóór het assignen van een variabele de waarde met PHP kunt aanpassen. Hetzelfde geldt voor de functies.

Een voorbeeld waarbij het developen daadwerkelijk makkelijker wordt heb ik hierboven gegeven, het om en om wisselen van achtergrondkleur bijvoorbeeld. Dit kun je uiteraard wel met PHP bewerkstelligen, maar het is veel eenvoudiger om direct in het template (.tpl) bestand zelf te doen.

« 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.