From 5dc51d227da3b7c318ca7365dfe22bc76f492657 Mon Sep 17 00:00:00 2001 From: messju Date: Mon, 20 Jun 2005 14:44:30 +0000 Subject: [PATCH] sync with en --- docs/de/appendixes/tips.xml | 594 +++++++++--------- docs/de/appendixes/troubleshooting.xml | 87 +-- .../language-modifier-capitalize.xml | 2 +- 3 files changed, 358 insertions(+), 325 deletions(-) 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 "&nbsp;" 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 "&nbsp;" 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. - - -"&nbsp;" ausgeben wenn eine Variable nicht zugewiesen ist - - + + "&nbsp;" ausgeben wenn eine Variable nicht zugewiesen ist + + - - +{$titel|default:"&nbsp;"} +]]> + + + + 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. + + +