Kann man die Klasse nicht irgendwie �ndern, das auch mehrere Operatoren funktionieren?
Nein, dass ist nicht Sinn der Sache.
Komplizierte IF-Strukturen d�rfen nach der Philosophie gar nicht im Template gemacht werden. Diese m�ssen immer im PHP-Code gemacht werden.
Siehe das
Beispiel f�r Sister_Sourcecode, wo man sch�n sehen kann, wie man die IF-Strukturen in PHP bildet und dann ans Template �bergibt.
Das Gleiche gilt f�r DB-Abfragen:
SELECT author_name, IFauthor_name = ClausVB, 1, 0 AS boolean
FROM vlib_posts
Alles was man nicht mit SQL hinbekommt, macht man in PHP, aber auf keinem Fall im Template.
Template Engines sind dazu da, um PHP (Logik) von HTML (Design) zu trennen und nicht die Logik in das Template zu integrieren.
Sonst kann man direkt Konstrukte wie:
main.php
?php
� � � // Logik
� � � title_text = TITLE Template Engine mal anders ...;
� � � body_text = BODY Hallo Welt;
� � � test_array = array
� � � � � � � � � � � eins = 1,
� � � � � � � � � � � zwei = 2,
� � � � � � � � � � � drei = 3,
� � � � � � � � � � � siebzehn = 17
� � � � � � � ;
� � � require_once templates_nur_mit_php_head.php;
� � � require_once templates_nur_mit_php_body.php;
?
Template 1: templates_nur_mit_php_head.php
[!--html--][div class='htmltop']HTML[/div][div class='htmlmain'][!--html1--]<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http//www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<
html>
<
head>
<
title><
?=title_text?><
/title>
<
meta http-equiv="
content-type" content="
text/html; charset=iso-8859-1" />
<
/head>[!--html2--][/div][!--html3--]
Template 2: templates_nur_mit_php_body.php
[!--html--][div class='htmltop']HTML[/div][div class='htmlmain'][!--html1--]<
body>
<
h1><
?=body_text?><
/h1>
<? foreachtest_array as key => value ?>
<
p>Schl�ssel <
?=key?> -- Wert <
?=value?><
/p>
<
? endforeach; ?>
<
/body>
<
/html>[!--html2--][/div][!--html3--]
verwenden. Damit hat man dann n�mlich die gesamte PHP-Macht.
Gru�
Claus