Ich hab eben gelesen, dass du dich im Urlaub befindest. W�re nett, wenn du dich kurz melden w�rdest (nat�rlich nach deiner R�ckkehr) und wir kurz die �nderung besprechen k�nnen. Vielleicht war meine Aktion ja unn�tig, da du eine viel bessere L�sung kennst....
Ich kenne eine bessere L�sung, bin aber nicht sicher ob sie Dir gef�llt. Ich mache alle Vergleiche soweit es irgendwie geht in PHP. Nat�rlich ist es manchmal einfach praktischer
mit TMPL_IF zu pr�fen, aber es widerspricht dem Gedanken von Templating, aufwendige
- SWITCH-CASE Strukturen
- IF Strukturen
mit Templating umzusetzen.
Ich mache also die meisten IF-Strukturen PHP-seitig und �bergebe dann dem Template nur noch Werte.
Beispiel:
Es gibt verschiedene Eskalations- oder Priorit�tslevel in einer DB (sagen wir 4 St�ck). Diese 4 St�ck k�nnen in der DB als Name stehen:
- Blau
- Gr�n
- Gelb
- Rot
oder als Zahlen
- 1, 2, 3, 4
Ich verwende meistens Zahlen (Primary Key) in solchen F�llen. Es gibt jetzt 2 Varianten das zu l�sen:
switch priority
{
case 1
prio_gif = blue.gif;
break;
case 2
prio_gif = green.gif;
break;
case 3
prio_gif = yellow.gif;
break;
case 4
prio_gif = red.gif;
break;
default
error_messageNO_PRIORITY;
}
und dann �bergibt man das GIF (den Text, das PDF, etc.) mit der Methode "setVar".
oder Du machst eine TMPL_IF, TMPL_ELSEIF Struktur
tmpl_if name=prio op=== value=1
�blau
tmpl_elseif name=prio op=== value=2
�gr�n
...
tmpl_else
� Fehlermeldung Keine Prio gesetzt
/tmpl_if
Das INCLUDE-Prinzip: Wenn das oben genannte noch nicht ausreicht, kann man auch v�llig modular mit
- include header.php (benutzt das Template header.htm)
- include prio_blue.php (benutzt das Template prio_blue.htm)
usw. arbeiten. Damit teilt man nicht nur seine Seite in mehrere logische Bereiche auf, sondern man ist komplett unabh�ngig von der angesprochenen TMPL_IF Problematik, da alles v�llig wahlweise und modular zusammengestellt werden kann.
Ich verwende das INCLUDE-Prinzip auf meiner
Homepage, um "Header", Navigation und "Footer" immer einzubinden, die verschiedenen Inhalte aber dynamisch aus ein DB. Der User bestimmt durch seinen Klick auf verschiedene Navigationspunkte, welche Datei inkludiert werden muss.
So kann ich mit vLIB sehr modular arbeiten. Kein Skript hat mehr als 20 Zeilen und jedes Skript bildet eine logische Einheit. Ich pers�nlich k�nnte sogar auf die Vergleichsm�glichkeiten von TMPL_IF verzichten, weil ich alle "komplizierten" IF-Strukturen in PHP mache.
Fazit: Du solltest Dein Problem also mit PHP und nicht mit TMPL_IF l�sen.
Ich hoffe, dass hilft Dir etwas.
Gru�
Claus