Dan moet je toch eens de source van CVS afhalen. Dan zie je dat ze Smarty helemaal niet gebruiken...
Kijk bij mij gaat het om de content scheiden van de source.
Dat zeggen ze bij Wact ook, dat is gewoon het systeem van georganiseerd programmeren.. maar ik wil dus absolut geen gebruik maken van smarty or what so ever die je moet installeren voordat je er functionaliteit uit kan halen.
Een template systeem maakt een scheiding tussen business logic zoals het ophalen en bewerken van data en presentation logic: het weergeven van data. De meeste template engines hebben dat idee eigenlijk nooit helemaal begrepen. Voor de weergave van bepaalde zaken heb je nou eenmaal een stukje programma nodig bv. voor het weergeven van een reeks waarden in een tabel.
Vaak wordt er in template engines de zoveelste "nieuwe" taal bedacht terwijl het onder water wordt geparsed door een PHP programma om weer uitgevoerd te worden als een PHP programma. Je kunt dan net zo goed je template in PHP schrijven. Een mooi artikel hierover is
Beyond The Template Engine.
Mijn voorbeeld gaat ook een uit van een soort van taal, maar deze zit ingebakken in de html code waardoor programma's als Dreamweaver er goed meer overweg kunnen. Het is immers gewoon XHTML, op de variabele toekenning na (het {$var} gebeuren).
Bij die Template power was het juist zo handig door met weinig voeten in aarde te steken er een aardig goede template systeem / website op kon bouwen..
Helaas heeft dat dus zo ze gebreken.
Nu blijkt dus wel dat in versie 3 dat ook ingebakken zit.. nou zover was ik dus niet gekomen omdat ik eigelijk toch een eigen systeem wil schrijven.
Kijk maar eens naar dat artikel wat ik aangaf en probeer daar maar eens wat mee te schrijven. Het is ongelooflijk simpel en het werkt gewoon snel.
Het principe van XML gebruik ban xml:list id="lijst" spreekt me ontzettend aan want dan kan je meer overzicht tabel functies maken in een template.
Maar daarnaast vraag ik me dan weer af, heeft dat wel toegevoegde waarde dat je meer dan 2 van deze tabel overzichten kan maken buiten content en error.
Hoe bedoel je meer dan 2 tabel overzichten? Ik snap je zin niet helemaal.
Een ander leuk voorbeeld is een form. Wel eens een goed formulier gebouwd met error checking? Zie onderstaand voorbeeld:
code:
1
2
3
4
5
6
| <form id="Formulier" action="form.php" method="post">
<form:error id="email"><message /></form:error>
Email: <input type="text" id="email" validate="EmailAddress">
<form:error id="telefoon"><message /></form:error>
Telefoon: <input type="text" id="telefoon" validate="RegExp" filter="^[0-9]+-[0-9]+$">
</form> |
Je form wordt automatisch gechecked en eventueel worden de error berichten getoond. Hier heeft Simon Wilson een mooi artikel over geschreven:
Easier form validation with PHP. Het principe berust op hetzelfde als het idee van de template engine in XML.
Nouja in mijn ogen is het nu te kortzichtig om hier op verder te gaan, dus ga ik wel eens op verder onderzoek.

Kijk gerust eens verder. Het hele principe wat hierboven beschreven is vergt nogal wat programmeerwerk maar je hebt er achteraf meer plezier van omdat het makkelijk hergebruikt kan worden.