diff --git a/docs/de/appendixes/tips.xml b/docs/de/appendixes/tips.xml
index 96802ce4..089f364f 100644
--- a/docs/de/appendixes/tips.xml
+++ b/docs/de/appendixes/tips.xml
@@ -1,136 +1,177 @@
-
+
-
- Tips & Tricks
+
+ Tips & Tricks
+
+
+
+ Handhabung unangewiesener Variablen
+ Manchmal möchten Sie vielleicht, dass anstatt einer Leerstelle ein
+ Standardwert ausgegeben wird - zum Beispiel um im
+ Tabellenhintergrund " " auszugeben, damit er korrekt
+ angezeigt wird. Damit dafür keine {if} Anweisung verwendet
+ werden muss, gibt es in Smarty eine Abkürzung: die Verwendung des
+ default Variablen-Modifikators.
-
- Handhabung unangewiesener Variablen
-
- Manchmal möchten Sie vielleicht, dass anstatt einer Leerstelle ein Standardwert ausgegeben wird - zum
- Beispiel um im Tabellenhintergrund " " auszugeben, damit er korrekt angezeigt wird. Damit dafür
- keine {if} Anweisung verwendet werden muss, gibt es in Smarty eine Abkürzung: die Verwendung des default
- Variablen-Modifikators.
-
-
-" " ausgeben wenn eine Variable nicht zugewiesen ist
-
-
+
+ " " ausgeben wenn eine Variable nicht zugewiesen ist
+
+
-
-
+{$titel|default:" "}
+]]>
+
+
+
+ Siehe auch default
+ (Standardwert) und Handhabung von
+ Standardwerten.
+
+
-
- Handhabung von Standardwerten
-
- Wenn eine Variable in einem Template häufig zum Einsatz kommt,
- kann es ein bisschen störend wirken, den 'default'-Modifikator jedes mal anzuwenden.
- Sie können dies umgehen, indem Sie der Variable mit der assign Funktion
- einen Standardwert zuweisen.
-
-
-Zuweisen des Standardwertes einer Variable
-
+
+ Handhabung von Standardwerten
+
+ Wenn eine Variable in einem Template häufig zum Einsatz kommt,
+ kann es ein bisschen störend wirken, den default-Modifikator
+ jedes mal anzuwenden. Sie können dies umgehen, indem Sie der
+ Variable mit der {assign} Funktion einen
+ Standardwert zuweisen.
+
+
+ Zuweisen des Standardwertes einer Variable
+
+
-
-
-
- Variablen an eingebundene Templates weitergeben
-
- Wenn die Mehrzahl Ihrer Templates den gleichen Header und Footer verwenden,
- lagert man diese meist in eigene Templates aus und bindet diese ein. Was
- geschieht aber wenn der Header einen seitenspezifischen Titel haben soll?
- Smarty bietet die Möglichkeit, dem eingebundenen Template, Variablen
- zu übergeben.
-
-
-Die Titel-Variable dem Header-Template zuweisen
-
+]]>
+
+
+
+ Siehe auch default
+ (Standardwert) und Handhabung nicht zugewiesener
+ Variablen.
+
+
-ersteseite.tpl
-------------
+
+ Variablen an eingebundene Templates weitergeben
+
+ Wenn die Mehrzahl Ihrer Templates den gleichen Header und Footer
+ verwenden, lagert man diese meist in eigene Templates aus und
+ bindet diese mit{include} ein. Was
+ geschieht aber wenn der Header einen seitenspezifischen Titel
+ haben soll? Smarty bietet die Möglichkeit, dem eingebundenen
+ Template, Variablen zu übergeben.
+
+
+ Die Titel-Variable dem Header-Template zuweisen
+
+ mainpage.tpl
+
+
+
+
+
+ archives.tpl
+
+
+
-
-
- Sobald die erste Seite geparsed wird, wird der Titel 'Erste Seite'
- dem header.tpl übergeben und fortan als Titel verwendet. Wenn
- die Archivseite ausgegeben wird, wird der Titel 'Archive' ausgegeben.
- Wie Sie sehen können, wird der Wert dafür aus der Datei
- 'archiv.conf' geladen und nicht von einem übergebenen Wert. Der
- Standardwert 'Nachrichten' wird verwendet, wenn die '$titel' leer ist.
- Erneut wird dafür der default-Modifikator angewandt.
-
-
-
- Zeitangaben
-
- Um dem Template Designer höchstmögliche Kontrolle über die Ausgabe
- von Zeitangaben/Daten zu ermöglichen, ist es empfehlenswert Daten immer
- als Timestamp zu übergeben. Der Designer kann danach die Funktion
- date_format für
- die Formatierung verwenden.
-
-
- Bemerkung: Seit Smarty 1.4.0 ist es möglich jede Timestamp zu
- übergeben, welche mit strtotime() ausgewertet werden kann. Dazu
- gehören Unix-Timestamps und MySQL-Timestamps.
-
-
-Die Verwendung von date_format
-
+]]>
+
+
+ header.tpl
+
+
+
+
+{$title|default:"Nachrichten"}
+
+
+]]>
+
+
+ footer.tpl
+
+
+
+
+]]>
+
+
+
+ Sobald die erste Seite geparsed wird, wird der Titel 'Erste Seite'
+ dem header.tpl übergeben und fortan als Titel
+ verwendet. Wenn die Archivseite ausgegeben wird, wird der Titel
+ 'Archive' ausgegeben. Wie Sie sehen können, wird der Wert dafür
+ aus der Datei 'archiv_page.conf' geladen und
+ nicht von einem übergebenen Wert. Der Standardwert 'Nachrichten'
+ wird verwendet, wenn die '$titel' leer ist. Erneut wird dafür der
+ default-Modifikator
+ angewandt.
+
+
+
+ Zeitangaben
+
+ Um dem Template Designer höchstmögliche Kontrolle über die Ausgabe
+ von Zeitangaben/Daten zu ermöglichen, ist es empfehlenswert Daten
+ immer als Timestamp zu übergeben. Der Designer kann danach die
+ Funktion date_format für die
+ Formatierung verwenden.
+
+
+ Bemerkung: Seit Smarty 1.4.0 ist es möglich jede Timestamp zu
+ übergeben, welche mit strtotime() ausgewertet werden kann. Dazu
+ gehören Unix-Timestamps und MySQL-Timestamps.
+
+
+ Die Verwendung von date_format
+
-
-
-AUSGABE:
-
-
-
+
+
+ AUSGABE:
+
+
@@ -151,21 +192,24 @@ AUSGABE:
-
-
-
- Falls {html_select_date} in einem Template verwendet wird, hat der Programmierer
- die Möglichkeit den Wert wieder in ein Timestamp-Format zu ändern. Dies
- kann zum Beispiel wie folgt gemacht werden:
-
-
-Formular Datum-Elemente nach Timestamp konvertieren
-
+
+
+
+ Falls {html_select_date}
+ in einem Template verwendet wird, hat der Programmierer die
+ Möglichkeit den Wert wieder in ein Timestamp-Format zu
+ ändern. Dies kann zum Beispiel wie folgt gemacht werden:
+
+
+ Formular Datum-Elemente nach Timestamp konvertieren
+
-
+
+
-
-
-
- WAP/WML
-
- WAP/WML Templates verlangen, dass ein Content-Type Header im Template
- angegeben wird. Der einfachste Weg um dies zu tun, wäre, eine Funktion
- zu schreiben, welche den Header ausgibt. Falls sie den Caching Mechanismus
- verwenden, sollten Sie auf das 'insert'-Tag zurückgreifen ('insert'-Tags
- werden nicht gecached), um ein optimales Ergebnis zu erzielen. Achten Sie darauf,
- dass vor der Ausgabe des Headers keine Daten an den Client gesendet werden, da
- die gesendeten Header-Daten ansonsten von Client verworfen werden.
-
-
-Die verwendung von 'insert' um einen WML Content-Type header zu senden
-
+
+ Siehe auch
+ {html_select_date},
+ {html_select_time},
+ date_format
+ und $smarty.now,
+
+
+
+ WAP/WML
+
+ WAP/WML Templates verlangen, dass ein Content-Type Header im
+ Template angegeben wird. Der einfachste Weg um dies zu tun, wäre,
+ eine Funktion zu schreiben, welche den Header ausgibt. Falls sie
+ den Caching Mechanismus verwenden, sollten Sie auf das
+ 'insert'-Tag zurückgreifen ('insert'-Tags werden nicht gecached),
+ um ein optimales Ergebnis zu erzielen. Achten Sie darauf, dass vor
+ der Ausgabe des Headers keine Daten an den Client gesendet werden,
+ da die gesendeten Header-Daten ansonsten von Client verworfen
+ werden.
+
+
+ Die verwendung von 'insert' um einen WML Content-Type header zu senden
+
]]>
-
-
-// Ihr Template _muss_ danach wie folgt beginnen:
-
+
+
+ Ihr Template muss danach wie folgt beginnen:
+
+
-<!-- neues wml deck -->
-<wml>
-<!-- erste karte -->
-<card>
-<do type="accept">
-<go href="#zwei"/>
-</do>
-<p>
-Welcome to WAP with Smarty!
-Willkommen bei WAP mit Smarty!
-OK klicken um weiterzugehen...
-</p>
-</card>
-<!-- zweite karte -->
-<card id="zwei">
-<p>
-Einfach, oder?
-</p>
-</card>
-</wml>
+
+
+
+
+
+
+
+
+ Welcome to WAP with Smarty!
+ Willkommen bei WAP mit Smarty!
+ OK klicken um weiterzugehen...
+
+
+
+
+
+ Einfach, oder?
+
+
+
]]>
-
-
-
-
- Template/Script Komponenten
-
- Dieser Tip ist nicht ausgiebig getestet, aber dennoch eine nette Idee. Verwendung auf eigene Gefahr. ;-)
-
-
- Normalerweise werden Variablen dem Template wie folgt zugewiesen:
- In Ihrer PHP-Applikation werden die Variablen zusammengestellt
- (zum Beispiel mit Datenbankabfragen). Danach kreieren Sie eine
- Instanz von Smarty, weisen die Variablen zu und geben das Template aus.
- Wenn wir also zum Beispiel einen Börsenticker in unserem
- Template haben, stellen wir die Kursinformationen in unserer Anwendung
- zusammen, weisen Sie dem Template zu und geben es aus. Wäre es jedoch nicht
- nett diesen Börsenticker einfach in ein Template einer anderen Applikation
- einbinden zu können ohne deren Programmcode zu ändern?
-
-
-
-
- Sie können PHP-Code mit {php}{/php} in Ihre Templates einbetten.
- So können Sie Templates erstellen, welche die Datenstrukturen
- zur Anweisung der eigenen Variablen enthalten. Durch die Bindung von
- Template und Logik entsteht so eine eigenständig lauffähige Komponente.
-
-
-Template/Script Komponenten
-
+
+
+
+
+ Template/Script Komponenten
+
+ Normalerweise werden Variablen dem Template wie folgt zugewiesen:
+ In Ihrer PHP-Applikation werden die Variablen zusammengestellt
+ (zum Beispiel mit Datenbankabfragen). Danach kreieren Sie eine
+ Instanz von Smarty, weisen die Variablen mit assign() zu und geben das Template mit
+ display() aus. Wenn wir also
+ zum Beispiel einen Börsenticker in unserem Template haben, stellen
+ wir die Kursinformationen in unserer Anwendung zusammen, weisen
+ Sie dem Template zu und geben es aus. Wäre es jedoch nicht nett
+ diesen Börsenticker einfach in ein Template einer anderen
+ Applikation einbinden zu können ohne deren Programmcode zu ändern?
+
+
+ Sie können PHP-Code mit {php}{/php} in Ihre Templates einbetten.
+ So können Sie Templates erstellen, welche die Datenstrukturen zur
+ Anweisung der eigenen Variablen enthalten. Durch die Bindung von
+ Template und Logik entsteht so eine eigenständig lauffähige
+ Komponente.
+
+
+ Template/Script Komponenten
+
+ function.load_ticker.php -
+ Diese Datei gehört ins $plugins directory
+
+
assign($params['assign'], $ticker_info);
+ // assign template variable
+ $smarty->assign($params['assign'], $ticker_info);
}
?>
]]>
+
+ index.tpl
+
-
-
- Seit Smarty 1.5.0, gibt es einen noch einfacheren und auch saubereren Weg
- in dem man die Logik mit {include_php ...} einbindet. So kann man weiterhin
- die Logik vom Design getrennt halten. Mehr Informationen gibt es in der include_php Dokumentation.
-
-
-Template/Script Komponenten mit include_php
-
-load_ticker.php
----------------
+
+
+
+ Verschleierung von E-mail Adressen
+
+ Haben Sie sich auch schon gewundert, wie Ihre E-mail Adresse auf
+ so viele Spam-Mailinglisten kommt? Ein Weg, wie Spammer E-mail
+ Adressen sammeln, ist über Webseiten. Um dieses Problem zu
+ bekämpfen, können sie den 'mailto'-Plugin verwenden. Er ändert
+ die Zeichenfolge mit Javascript so, dass sie im HTML Quellcode
+ nicht lesbar ist, jedoch von jedem Browser wieder zusammengesetzt
+ werden kann. Den {mailto}-Plugin gibt es
+ im Smarty-Repository auf http://smarty.php.net. Laden sie den
+ Plugin herunter und speichern Sie ihn im 'plugins' Verzeichnis.
+
+
+ Beispiel von verschleierung von E-mail Adressen
+
+{* in index.tpl *}
-<?php
- // unsere funktion um die börsenkurse zu holen
- function fetch_ticker($symbol,&$ticker_name,&$ticker_price) {
- // hier wird $ticker_name und $ticker_price zugewiesen
- }
-
- // aufruf der funktion
- fetch_ticker("YHOO",$ticker_name,$ticker_price);
-
- // zuweisung der variablen
- $this->assign("ticker_name",$ticker_name);
- $this->assign("ticker_price",$ticker_price);
-?>
-
-
-index.tpl
----------
-
-{* Smarty *}
-
-{include_php file="load_ticker.php"}
-
-Symbol: {$ticker_name} Preis: {$ticker_price}
-
-
-
- Verschleierung von E-mail Adressen
-
- Haben Sie sich auch schon gewundert, wie Ihre E-mail Adresse auf so viele
- Spam-Mailinglisten kommt? Ein Weg, wie Spammer E-mail Adressen sammeln, ist
- über Webseiten. Um dieses Problem zu bekämpfen, können sie
- den 'mailto'-Plugin verwenden. Er ändert die Zeichenfolge mit Javascript
- so, dass sie im HTML Quellcode nicht lesbar ist, jedoch von jedem Browser
- wieder zusammengesetzt werden kann. Den 'mailto'-Plugin gibt es im Smarty-Repository
- auf http://smarty.php.net. Laden sie den Plugin herunter und speichern Sie ihn im
- 'plugins' Verzeichnis.
-
-
-Beispiel von verschleierung von E-mail Adressen
-
-
-index.tpl
----------
-
-Fragen bitte an
+Anfragen bitte an
{mailto address=$EmailAddress encode="javascript" subject="Hallo"}
senden
-
-
-
-
- Technische Details
-
- Die Codierung mit Javascript ist nicht sehr sicher, da ein möglicher
- Spammer die Decodierung in sein Sammelprogramm einbauen könnte. Es wird jedoch damit
- gerechnet, dass, da Aufwand und Ertrag sich nicht decken, dies nicht oft der Fall ist.
-
-
-
-
+
+
+
+ Technische Details
+
+ Die Codierung mit Javascript ist nicht sehr sicher, da ein
+ möglicher Spammer die Decodierung in sein Sammelprogramm
+ einbauen könnte. Es wird jedoch damit gerechnet, dass, da
+ Aufwand und Ertrag sich nicht decken, dies nicht oft der Fall
+ ist.
+
+
+
+ Siehe auch escape
+ und {mailto}.
+
+
+
-
+
- Problemlösung
-
-
- Smarty/PHP Fehler
-
- Smarty kann verschiedene Fehler-Typen, wie fehlende Tag-Attribute oder syntaktisch falsche Variablen-Namen abfangen. Wenn dies geschieht, wird Ihnen eine Fehlermeldung ausgegeben. Beispiel:
-
-
-
-Smarty Fehler
-
+ Problemlösung
+
+
+ Smarty/PHP Fehler
+
+ Smarty kann verschiedene Fehler-Typen, wie fehlende Tag-Attribute
+ oder syntaktisch falsche Variablen-Namen abfangen. Wenn dies
+ geschieht, wird Ihnen eine Fehlermeldung ausgegeben. Beispiel:
+
+
+ Smarty Fehler
+
+
-
+]]>
+
+
+
+ In der ersten Zeile zeigt Smarty den Template-Namen, die
+ Zeilennummer und den Fehler an. Darauf folgt die betroffene Zeile
+ in der Smarty Klasse welche den Fehler erzeugt hat.
+
+
+ Es gibt gewisse Fehlerkonditionen, die Smarty nicht abfangen kann (bsp: fehlende End-Tags). Diese Fehler
+ resultieren jedoch normalerweise in einem PHP-'compile-time' Fehler.
+
-
- In der ersten Zeile zeigt Smarty den Template-Namen, die Zeilennummer
- und den Fehler an. Darauf folgt die betroffene Zeile in der Smarty Klasse welche den Fehler erzeugt hat.
-
-
-
- Es gibt gewisse Fehlerkonditionen, die Smarty nicht abfangen kann (bsp: fehlende End-Tags). Diese Fehler
- resultieren jedoch normalerweise in einem PHP-'compile-time' Fehler.
-
-
-
-PHP Syntaxfehler
-
+
+ PHP Syntaxfehler
+
+
-
-
-
- Wenn ein PHP Syntaxfehler auftritt, wird Ihnen die Zeilennummer des
- betroffenen PHP Skriptes ausgegeben, nicht die des Templates. Normalerweise
- können Sie jedoch das Template anschauen um den Fehler zu lokalisieren.
- Schauen sie insbesondere auf Folgendes: fehlende End-Tags in einer {if}{/if} Anweisung
- oder in einer {section}{/section} und die Logik eines {if} Blocks. Falls Sie den Fehler
- so nicht finden, können Sie auch das kompilierte Skript öffnen und zu der
- betreffenden Zeilennummer springen um herauszufinden welcher Teil des Templates
- den Fehler enthält.
-
-
-
+]]>
+
+
+
+ Wenn ein PHP Syntaxfehler auftritt, wird Ihnen die Zeilennummer
+ des betroffenen PHP Skriptes ausgegeben, nicht die des
+ Templates. Normalerweise können Sie jedoch das Template
+ anschauen um den Fehler zu lokalisieren. Schauen sie insbesondere
+ auf Folgendes: fehlende End-Tags in einer {if}{/if} Anweisung oder
+ in einer {section}{/section} und die Logik eines {if}
+ Blocks. Falls Sie den Fehler so nicht finden, können Sie auch
+ das kompilierte Skript öffnen und zu der betreffenden
+ Zeilennummer springen um herauszufinden welcher Teil des Templates
+ den Fehler enthält.
+
+
+