diff --git a/docs/de/designers/language-basic-syntax.xml b/docs/de/designers/language-basic-syntax.xml index a29635d1..fa599089 100644 --- a/docs/de/designers/language-basic-syntax.xml +++ b/docs/de/designers/language-basic-syntax.xml @@ -15,143 +15,14 @@ entsprechenden Ausgaben an deren Stelle einzufügen. - - Kommentare - - Kommentare werden von Asterisks umschlossen, und mit Trennzeichen umgeben. - Beispiel: {* das ist ein Kommentar *} - Smarty-Kommentare werden in der Ausgabe nicht dargestellt und vor allem - dazu verwendet, die Templates verständlicher aufzubauen. - - - Kommentare - -{* Smarty *} +&designers.language-basic-syntax.language-syntax-comments; -{* einbinden des Header-Templates *} -{include file="header.tpl"} +&designers.language-basic-syntax.language-syntax-functions; -{include file=$includeFile} +&designers.language-basic-syntax.language-syntax-attributes; -{include file=#includeFile#} - -{* Ausgabe der drop-down Liste *} -<SELECT name=firma> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - - Funktionen - - Jedes Smarty-Tag gibt entweder eine Variable aus - oder ruft eine Funktion auf. Funktionen werden aufgerufen indem der Funktionsname - und die Parameter mit Trennzeichen umschlossen werden. Beispiel: {funcname attr1="val" attr2="val"}. - - - Funktions-Syntax - -{config_load file="colors.conf"} - -{include file="header.tpl"} - -{if $highlight_name} - Welcome, <font color="{#fontColor#}">{$name}!</font> -{else} - Welcome, {$name}! -{/if} - -{include file="footer.tpl"} - - - Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der - gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie if, section - und strip. Diese Funktionen können nicht verändert werden. - Individuelle Funktionen die die Fähigkeiten von Smarty erweitern werden als Plugins implementiert. - Diese Funktionen können von Ihnen angepasst werden, oder Sie können selbst neue Plugins - hinzufügen. html_options und html_select_date sind Beispiele solcher Funktionen. - - - - - Attribute / Parameter - - Die meisten Funktionen nehmen Parameter entgegen, die das - Verhalten der Funktion definieren beziehungsweise beeinflussen. Parameter - für Smarty Funktionen sind HTML Attributen sehr ähnlich. - Statische Werte müssen nicht in Anführungszeichen gesetzt werden, - für literale Zeichenketten (literal strings) wird dies jedoch empfohlen. - - - Bestimmte Parameter verlangen logische Werte (true / false). Diese - können auch ohne Anführungszeichen angegeben werden: - true, on und yes - - oder false, off und no. - - - Funktions-Parameter Syntax - -{include file="header.tpl"} - -{include file=$includeFile} - -{include file=#includeFile#} - -{html_select_date display_days=yes} - -<SELECT name=firma> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - - Variablen mit Doppelten Anführungszeichen - - Smarty erkennt zugewiesene Variablen mit doppelten Anführungszeichen solange - die Variablen nur Zahlen, Buchstaben, Understriche oder Klammern [] enthalten. Mit allen - anderen Zeichen wie Punkt, Objekt Referenzen, etc muss die Vairable mit Backticks umschlossen sein. - - - Syntax von eingebetteten Anfürungszeichen - -SYNTAX BEISPIELE: -{func var="test $foo test"} <-- sieht $foo -{func var="test $foo_bar test"} <-- sieht $foo_bar -{func var="test $foo[0] test"} <-- sieht $foo[0] -{func var="test $foo[bar] test"} <-- sieht $foo[bar] -{func var="test $foo.bar test"} <-- sieht $foo (nicht $foo.bar) -{func var="test `$foo.bar` test"} <-- sieht $foo.bar - -PRAKTISCHE BEISPIELE: -{include file="subdir/$tpl_name.tpl"} <-- ersetzt $tpl_name durch wert -{cycle values="one,two,`$smarty.config.myval`"} <-- muss Backticks enthalten - - - - Math - - Mathematische Operationen können direkt auf Variablen verwendet werden. - - - Mathematik Beispiele - -{$foo+1} - -{$foo*$bar} - -{* kompliziertere Beispiele *} - -{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} - -{if ($foo+$bar.test%$baz*134232+10+$b+10)} - -{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} - -{assign var="foo" value="`$foo+$bar`"} - - +&designers.language-basic-syntax.language-syntax-quotes; +&designers.language-basic-syntax.language-math; + + Math + + Mathematische Operationen können direkt auf Variablen verwendet werden. + + + Mathematik Beispiele + +{$foo+1} + +{$foo*$bar} + +{* kompliziertere Beispiele *} + +{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} + +{if ($foo+$bar.test%$baz*134232+10+$b+10)} + +{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} + +{assign var="foo" value="`$foo+$bar`"} + + + \ No newline at end of file diff --git a/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml new file mode 100644 index 00000000..cf92c7ff --- /dev/null +++ b/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml @@ -0,0 +1,53 @@ + + + + Attribute / Parameter + + Die meisten Funktionen nehmen Parameter entgegen, die das + Verhalten der Funktion definieren beziehungsweise beeinflussen. Parameter + für Smarty Funktionen sind HTML Attributen sehr ähnlich. + Statische Werte müssen nicht in Anführungszeichen gesetzt werden, + für literale Zeichenketten (literal strings) wird dies jedoch empfohlen. + + + Bestimmte Parameter verlangen logische Werte (true / false). Diese + können auch ohne Anführungszeichen angegeben werden: + true, on und yes + - oder false, off und no. + + + Funktions-Parameter Syntax + +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{html_select_date display_days=yes} + +<SELECT name=firma> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/de/designers/language-basic-syntax/language-syntax-comments.xml b/docs/de/designers/language-basic-syntax/language-syntax-comments.xml new file mode 100644 index 00000000..a815abb4 --- /dev/null +++ b/docs/de/designers/language-basic-syntax/language-syntax-comments.xml @@ -0,0 +1,48 @@ + + + + Kommentare + + Kommentare werden von Asterisks umschlossen, und mit Trennzeichen umgeben. + Beispiel: {* das ist ein Kommentar *} + Smarty-Kommentare werden in der Ausgabe nicht dargestellt und vor allem + dazu verwendet, die Templates verständlicher aufzubauen. + + + Kommentare + +{* Smarty *} + +{* einbinden des Header-Templates *} +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{* Ausgabe der drop-down Liste *} +<SELECT name=firma> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/de/designers/language-basic-syntax/language-syntax-functions.xml b/docs/de/designers/language-basic-syntax/language-syntax-functions.xml new file mode 100644 index 00000000..a310376a --- /dev/null +++ b/docs/de/designers/language-basic-syntax/language-syntax-functions.xml @@ -0,0 +1,53 @@ + + + + Funktionen + + Jedes Smarty-Tag gibt entweder eine Variable aus + oder ruft eine Funktion auf. Funktionen werden aufgerufen indem der Funktionsname + und die Parameter mit Trennzeichen umschlossen werden. Beispiel: {funcname attr1="val" attr2="val"}. + + + Funktions-Syntax + +{config_load file="colors.conf"} + +{include file="header.tpl"} + +{if $highlight_name} + Welcome, <font color="{#fontColor#}">{$name}!</font> +{else} + Welcome, {$name}! +{/if} + +{include file="footer.tpl"} + + + Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der + gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie if, section + und strip. Diese Funktionen können nicht verändert werden. + Individuelle Funktionen die die Fähigkeiten von Smarty erweitern werden als Plugins implementiert. + Diese Funktionen können von Ihnen angepasst werden, oder Sie können selbst neue Plugins + hinzufügen. html_options und html_select_date sind Beispiele solcher Funktionen. + + + \ No newline at end of file diff --git a/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml new file mode 100644 index 00000000..b1d02ac8 --- /dev/null +++ b/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml @@ -0,0 +1,45 @@ + + + + Variablen mit Doppelten Anführungszeichen + + Smarty erkennt zugewiesene Variablen mit doppelten Anführungszeichen solange + die Variablen nur Zahlen, Buchstaben, Understriche oder Klammern [] enthalten. Mit allen + anderen Zeichen wie Punkt, Objekt Referenzen, etc muss die Vairable mit Backticks umschlossen sein. + + + Syntax von eingebetteten Anfürungszeichen + +SYNTAX BEISPIELE: +{func var="test $foo test"} <-- sieht $foo +{func var="test $foo_bar test"} <-- sieht $foo_bar +{func var="test $foo[0] test"} <-- sieht $foo[0] +{func var="test $foo[bar] test"} <-- sieht $foo[bar] +{func var="test $foo.bar test"} <-- sieht $foo (nicht $foo.bar) +{func var="test `$foo.bar` test"} <-- sieht $foo.bar + +PRAKTISCHE BEISPIELE: +{include file="subdir/$tpl_name.tpl"} <-- ersetzt $tpl_name durch wert +{cycle values="one,two,`$smarty.config.myval`"} <-- muss Backticks enthalten + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions.xml b/docs/de/designers/language-builtin-functions.xml index 527e6300..bdec22f1 100644 --- a/docs/de/designers/language-builtin-functions.xml +++ b/docs/de/designers/language-builtin-functions.xml @@ -7,1427 +7,18 @@ sind integral für die Template-Sprache. Sie können sie weder verändern noch eigene Funktionen unter selbem Namen erstellen. - - capture (Ausgabe abfangen) - - - - - - - - - - Attribut Name - Typ - Benötigt - Standardwert - Beschreibung - - - - - name - string - no - default - Der Name des abgefangenen Blocks - - - assign - string - No - n/a - Der Name der Variable welcher der Wert zugewiesen werden soll. - - - - - - 'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer - Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und {/capture} - wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über - '$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut - übergeben wurde, wird der Inhalt in 'default' abgelegt. - Jede {capture} Sektion muss mit {/capture} beendet werden. - 'capture'-Blöcke können verschachtelt sein. - - - Technische Bemerkung - - Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der - Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden. - Bitte passen Sie Ihre Templates entsprechend an. - - - - - Seien Sie vorsichtig, wenn sie die Ausgabe von insert - abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching - eingeschaltet ist und Sie einen insert - Befehl verwenden, um Ausgaben vom Caching auszuschliessen. - - - - - Template-Inhalte abfangen - - -{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *} -{capture name=banner} -{include file="get_banner.tpl"} -{/capture} -{if $smarty.capture.banner ne ""} - <tr> - <td> - {$smarty.capture.banner} - </td> - </tr> -{/if} - - - - - config_load (Konfiguration laden) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - file - string - Ja - n/a - Definiert den Namen der einzubindenden Datei. - - - section - string - Nein - n/a - Definiert den Namen des zu ladenden Abschnitts. - - - scope - string - Nein - local - - Definiert den Geltungsbereich der zu ladenden Variablen. - Erlaubte Werte sind 'local','parent' und 'global'. 'local' bedeutet, - dass die Variablen in den Context des lokalen Template geladen werden. - 'parent' bedeutet, dass die Variablen sowohl in den lokalen Context, - als auch in den Context des aufrufenden Templates eingebunden werden. - 'global' bedeutet, dass die Variablen von allen Templates zugänglich sind. - - - - global - boolean - Nein - No - - DEPRECATED: - Definiert, ob die Variablen von allen Templates aus zugänglich sind. - Dieses Attribut wird von 'scope' abgelöst und sollte nicht mehr - verwendet werden. Falls 'scope' übergeben wurde, wird 'global' ignoriert. - - - - - - - Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei - in das Template zu laden. Sehen sie Config Files (Konfigurationsdateien) - für weitere Informationen. - - -Funktion config_load - - -{config_load file="farben.conf"} -<html> -<title>{#seitenTitel#}</title> -<body bgcolor="{#bodyHintergrundFarbe#}"> -<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> -<tr bgcolor="{#reiheHintergrundFarbe#}"> - <td>Vornamen</td> - <td>Nachnamen</td> - <td>Adresse</td> -</tr> -</table> -</body> -</html> - - - Konfigurationsdateien können Abschnitte enthalten. Um Variablen - aus einem Abschnitt zu laden, können Sie das Attribut - section übergeben. - - - Bemerkung: Konfigurationdatei-Abschnitte (sections) und die - eingebaute Template Funktion namens section haben ausser dem - Namen nichts gemeinsam. - - -Funktion config_load mit Abschnitten - -{config_load file="farben.conf" section="Kunde"} -<html> -<title>{#seitenTitel#}</title> -<body bgcolor="{#bodyHintergrundFarbe#}"> -<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> -<tr bgcolor="{#reiheHintergrundFarbe#}"> - <td>Vornamen</td> - <td>Nachnamen</td> - <td>Adresse</td> -</tr> -</table> -</body> -</html> - - - - foreach, foreachelse - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - from - string - Ja - n/a - Name des zu durchlaufenden Array. - - - item - string - Ja - n/a - Name für das aktuelle Element. - - - key - string - Nein - n/a - Name für den aktuellen Schlüssel. - - - name - string - Nein - n/a - Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften. - - - - - - Die foreach Schleife ist eine Alternative zu section. - foreach wird verwendet, um ein assoziatives Array - zu durchlaufen. Die Syntax von foreach-Schleifen ist viel einfacher als - die von section. foreach tags müssen mit /foreach - tags kombiniert werden. Erforderliche Parameter sind: from und - item. Der Name der 'foreach'-Schleife kann frei vergeben werden - und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten. - foreach-Schleifen können verschachtelt werden, dabei ist - zu beachten, dass sich die definierten Namen voneinander unterscheiden. - Die from Variable (normalerweise - ein assoziatives Array) definiert die Anzahl der von foreach - zu durchlaufenen Iterationen. foreachelse wird ausgeführt wenn - keine Werte in der from Variable übergeben wurden. - - -foreach - - - - -{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *} -{foreach from=$KundenId item=aktuelle_id} - id: {$aktuelle_id}<br> -{/foreach} - -AUSGABE: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -foreach key - -{* Der Schlüssel enthält den Schlüssel des jeweils iterierten Wertes - -die Zuweisung sieht wie folgt aus: - -$smarty->assign("kontakte", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); - -*} - -{foreach name=aussen item=kontakt from=$kontakte} - {foreach key=schluessel item=wert from=$kontakt} - {$schluessel}: {$wert}<br> - {/foreach} -{/foreach} - -AUSGABE: - -phone: 1<br> -fax: 2<br> -cell: 3<br> -phone: 555-4444<br> -fax: 555-3333<br> -cell: 760-1234<br> - - - - Foreach-Loops haben auch eigene Variablen welche die Foreach Eigenschaften enthalten. - Diese werden wie folgt ausgewiesen: {$smarty.foreach.foreachname.varname}. foreachname - ist der Name der als name Attribut von Foreach übergeben wurden. - - - iteration - - gibt die aktuelle iteration aus - - - iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert. - - - - - first - - first ist TRUE wenn die aktuelle Iteration die erste ist - - - - - last - - last ist TRUE wenn die aktuelle Iteration die letzte ist - - - - - show - - show wird als Parameter von foreach verwedet und ist ein boolscher Wert, TRUE oder FALSE. Auf FALSE wird - nichts ausgegeben und wenn foreachelse gefunden wird, dieser angezeigt. - - - - - total - - total gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden. - - - - - - include (einbinden) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - file - string - Ja - n/a - Name der Template-Datei, die eingebunden werden soll. - - - assign - string - Nein - n/a - Variable, welcher der eingebundene Inhalt zugewiesen werden soll. - - - [var ...] - [var typ] - Nein - n/a - Variablen welche dem Template lokal übergeben werden sollen. - - - - - - Include Tags werden verwendet, um andere Templates in das aktuelle Template einzubinden. - Alle Variablen des aktuellen Templates sind auch im eingebundenen Template verfügbar. - Das include-Tag muss ein 'file' Attribut mit dem Pfad zum einzubindenden - Template enthalten. - - - Optional kann mit dem assign Attribut definiert werden, - in welcher Variable die Ausgabe des mit include eingebundenen - Templates abgelegt werden soll statt sie auszugeben. - - -function include (einbinden) - -{include file="header.tpl"} - -{* hier kommt der body des Templates *} - -{include file="footer.tpl"} - - - Sie können dem einzubindenden Template Variablen - als Attribute übergeben. Alle explizit übergebenen - Variablen sind nur im Anwendungsbereich (scope) dieses Template - verfügbar. Attribut-Variablen überschreiben - aktuelle Template-Variablen, falls sie den gleichen Namen haben. - - -include-Funktion und Variablen Übergabe - -{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"} - -{* hier kommt der body des Templates *} - -{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} - - - Benutzen sie die Syntax von template resources, - um Templates ausserhalb des '$template_dir' einzubinden: - - -Beispiele für Template-Ressourcen bei der 'include'-Funktion - -{* absoluter Dateipfad *} -{include file="/usr/local/include/templates/header.tpl"} - -{* absoluter Dateipfad (gleich) *} -{include file="file:/usr/local/include/templates/header.tpl"} - -{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *} -{include file="file:C:/www/pub/templates/header.tpl"} - -{* einbinden aus Template-Ressource namens 'db' *} -{include file="db:header.tpl"} - - - - include_php (PHP-Code einbinden) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - file - string - Ja - n/a - Der Name der einzubindenden PHP-Datei. - - - once - boolean - Nein - true - Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird. - - - assign - string - Nein - n/a - Der Name der Variable, der die Ausgabe von include_php zugewiesen wird. - - - - - - include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates - einzubinden. Falls 'Sicherheit' aktiviert ist, - muss das einzubindende Skript im '$trusted_dir' Pfad liegen. - 'include_php' muss das Attribut 'file' übergeben werden, - das den Pfad - entweder relativ zu '$trusted_dir' oder absolut - - zum Skript enthält. - - - include_php ist ein einfacher Weg, um modularisierte Templates zu - verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel - ein Template für die Seitennavigation, welche direkt - aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht, - können sie in einer eigenen Datei ablegen und am - Anfang Ihres Templates einbinden. Nun können Sie das Template - überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt - in die Navigationsstruktur gelangt. - - - Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen, - selbst wenn es mehrfach eingebunden wird. Sie können dieses - Verhalten durch die Verwendung des once Attributs - steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer - wenn sie eingebunden wird auch neu geladen. - - - Optional kann das assign Attribut übergeben werden. - Die Ausgabe von include_php wird dann nicht direkt eingefügt, - sondern in der durch assign benannten Template-Variable abgelegt. - - - Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden. - - -Funktion include_php - -lade_nav.php -------------- - -<?php - - - // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu - require_once("MySQL.class.php"); - $sql = new MySQL; - $sql->query("select * from site_nav_sections order by name",SQL_ALL); - $this->assign($sections,$sql->record); - -?> - - -index.tpl ---------- - - -{* absoluter Pfad, oder relativ zu '$trusted_dir' *} -{include_php file="/pfad/zu/lade_nav.php"} - -{foreach item=$aktuelle_section from=$sections} - <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br> -{/foreach} - - - - insert (einfügen) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Ja - n/a - Der Name der Insert-Funktion - - - assign - string - Nein - n/a - Name der Template-Variable, in der die Ausgabe der 'insert'-Funktion optional abgelegt wird. - - - script - string - Nein - n/a - Name des PHP-Skriptes, das vor Aufruf der 'insert'-Funktion eingebunden werden soll. - - - [var ...] - [var typ] - Nein - n/a - Variablen die der 'insert'-Funktion übergeben werden sollen. - - - - - - 'insert'-Tags funktionieren ähnlich den 'include'-Tags, - werden aber nicht gecached, falls caching - eingeschaltet ist. Sie werden bei jedem Aufruf des Templates ausgeführt. - - - Stellen Sie sich vor, sie hätten ein Template mit einem - Werbebanner. Dieser Banner kann verschiedene Arten von - Inhalten haben: Bilder, HTML, Flash, etc. - Deshalb können wir nicht einfach einen statischen Link - verwenden und müssen vermeiden, dass dieser Inhalt gecached wird. - Hier kommt das 'insert'-Tag ins Spiel. Das Template kennt die Variablen - '#banner_location_id#' und '#site_id#' (zum Beispiel aus einer Konfigurationsdatei) - und soll eine Funktion aufrufen, die den Inhalt des Banners liefert. - - -Funktion 'insert' - - -{* erzeugen des Banners *} -{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - - - In diesem Beispiel verwenden wir die Funktion 'getBanner' und - übergeben die Parameter '#banner_location_id#' und '#site_id#'. - Smarty wird daraufhin in Ihrer Applikatiopn nach einer Funktion - namens 'getBanner' suchen und diese mit den Parametern '#banner_location_id#' - und '#site_id#' aufrufen. Allen 'insert'-Funktionen in Ihrer Applikation - muss 'insert_' vorangestellt werden, um Konflikte im Namensraum - zu vermeiden. Ihre 'insert_getBanner()'-Funktion sollte etwas mit den - übergebenen Parametern unternehmen und das Resultat zurückgeben. - Dieses Resultat wird an der Stelle des 'insert'-Tags in Ihrem Template ausgegeben. - In diesem Beispiel würde Smarty folgende Funktion aufrufen: - insert_getBanner(array("lid" => "12345","sid" => "67890")) und die erhaltenen Resultate - an Stelle des 'insert'-Tags ausgeben. - - - Falls Sie das 'assign'-Attribut übergeben, wird die Ausgabe - des 'insert'-Tags in dieser Variablen abgelegt. - Bemerkung: dies ist nicht sinnvoll, wenn Caching eingeschaltet ist. - - - Falls Sie das 'script'-Attribut übergeben, wird das angegebene - PHP-Skript vor der Ausführung der 'insert'-Funktion eingebunden. - Dies ist nützlich, um die 'insert'-Funktion erst in diesem - Skript zu definieren. - Der Pfad kann absolut oder relativ zu '$trusted_dir' angegeben werden. - Wenn Sicherheit eingeschaltet ist, muss das Skript in '$trusted_dir' - liegen. - - - Als zweites Argument wird der 'insert'-Funktion das Smarty-Objekt selbst - übergeben. Damit kann dort auf die Informationen im Smarty-Objekt - zugegriffen werden. - - - Technische Bemerkung - - Es gibt die Möglichkeit, Teile des Templates nicht zu cachen. - Wenn Sie caching eingeschaltet haben, - werden 'insert'-Tags nicht gecached. Sie werden jedesmal ausgeführt, wenn - die Seite erstellt wird - selbst innerhalb gecachter Seiten. Dies funktioniert - gut für Dinge wie Werbung (Banner), Abstimmungen, Wetterberichte, Such-Resultate, Benutzer-Feedback-Ecke, etc. - - - - - if,elseif,else - - 'if'-Statements in Smarty erlauben die selbe Flexibilität - wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine. - Jedes if muss mit einem /if - kombiniert sein. else und elseif - sind ebenfalls erlaubt. "eq", "ne","neq","gt", "lt", "lte", "le", "gte" "ge", - "is even","is odd", "is noteven","is not odd","not","mod","div by","even by", - "odd by","==","!=",">", "<","<=",">=" sind alles erlaubte Bedingungen, - und müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden. - - -if Anweisung - - -{* ein Beispiel mit 'eq' (gleich) *} -{if $name eq "Fred"} - Willkommen der Herr. -{elseif $name eq "Wilma"} - Willkommen die Dame. -{else} - Willkommen, was auch immer Du sein magst. -{/if} - -{* ein Beispiel mit 'or'-Logik *} -{if $name eq "Fred" or $name eq "Wilma"} - ... -{/if} - -{* das selbe *} -{if $name == "Fred" || $name == "Wilma"} - ... -{/if} - -{* die foldende Syntax ist nicht korrekt, da die Elemente welche die - Bedingung umfassen nicht mit Leerzeichen abgetrennt sind*} -{if $name=="Fred" || $name=="Wilma"} - ... -{/if} - - - -{* Klammern sind erlaubt *} -{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#} - ... -{/if} - - -{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *} -{if count($var) gt 0} - ... -{/if} - - -{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *} -{if $var is even} - ... -{/if} -{if $var is odd} - ... -{/if} -{if $var is not odd} - ... -{/if} - - -{* testen ob eine Zahl durch 4 teilbar ist (div by) *} -{if $var is div by 4} - ... -{/if} - - -{* testen ob eine Variable gerade ist, gruppiert nach 2 - 0=gerade, 1=gerade, 2=ungerade, 3=ungerade, 4=gerade, 5=gerade, etc *} -{if $var is even by 2} - ... -{/if} - -{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *} -{if $var is even by 3} - ... -{/if} - - - - ldelim,rdelim (Ausgabe der Trennzeichen) - - ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben - - in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu - interpretieren. - - -ldelim, rdelim - - -{* gibt die konfigurierten Trennzeichen des Templates aus *} - -{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus! - - -AUSGABE: - -{funktionsname} Funktionen sehen in Smarty so aus! - - - - literal - - 'literal'-Tags erlauben es, einen Block wörtlich auszugeben, - d.h. von der Interpretation durch Smarty auszuschliessen. - Dies ist vor allem für Javascript- oder andere Blöcke - nützlich, die geschwungene Klammern verwenden. Alles - was zwischen den {literal}{/literal} Tags steht, wird direkt - angezeigt. - -literal-Tags - -{literal} - <script language=javascript> - - <!-- - function isblank(field) { - if (field.value == '') - { return false; } - else - { - document.loginform.submit(); - return true; - } - } - // --> - - </script> -{/literal} - - - - php - - 'php'-Tags erlauben es, PHP-Code direkt in das Template einzubetten. Der Inhalt - wird nicht 'escaped', egal wie $php_handling - konfiguriert ist. - Dieses Tag ist nur für erfahrene Benutzer gedacht und wird - auch von diesen normalerweise nicht benötigt. - - -php-Tags - -{php} - // php Skript direkt von Template einbinden - include("/pfad/zu/zeige_weather.php"); -{/php} - - - - section,sectionelse - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Ja - n/a - Der Name der 'section' - - - loop - [$variable_name] - Ja - n/a - Der Name des Zählers für die Iterationen. - - - start - integer - Nein - 0 - - Definiert die Startposition. Falls ein negativer Wert übergeben wird, - berechnet sich die Startposition ausgehend vom Ende des Arrays. Wenn zum Beispiel - 7 Werte in einem Array enthalten sind und die Startposition -2 ist, ist die - berechnete Startposition 5. Unerlaubte Werte (Werte ausserhalb der Grösse des - Arrays) werden automatisch auf den nächstmöglichen Wert gesetzt. - - - step - integer - Nein - 1 - - Definiert die Schrittweite mit welcher das Array durchlaufen wird. - 'step=2' iteriert durch 0, 2, 4, etc. Wenn ein negativer Wert übergeben wurde, - wird das Array rückwärts durchlaufen. - - - - max - integer - Nein - 1 - Maximale Anzahl an Iterationen, die Durchlaufen werden. - - - show - boolean - Nein - true - Definiert ob diese 'section' angezeigt werden soll oder nicht. - - - - - - Template-'sections' werden verwendet, um durch Arrays zu iterieren. - Jedes section-Tag muss mit einem /section-Tag - kombiniert werden. name und loop sind erforderliche - Parameter. Der Name der 'section' kann frei gewählt werden, muss jedoch aus Buchstaben, - Zahlen oder Unterstrichen bestehen. 'sections' können verschachtelt werden. Dabei ist - zu beachten, dass sich ihre Namen unterscheiden. Aus der 'loop'-Variable (normalerweise ein - Array von Werten) resultiert die Anzahl der Iterationen, die durchlaufen werden. - Wenn ein Wert aus der 'loop'-Variable innerhalb der 'section' ausgegeben werden soll, - muss der 'section-name' umschlossen mit [] angefügt werden. - sectionelse wird ausgeführt, wenn keine Werte in der - 'loop'-Variable enthalten sind. - - -section - - - -{* dieses Beispiel gibt alle Werte des $KundenId Arrays aus *} -{section name=kunde loop=$KundenId} - id: {$KundenId[kunde]}<br> -{/section} - -AUSGABE: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -section loop Variable - -{* die 'loop'-Variable definiert nur die Anzahl der Iterationen, - Sie können in dieser 'section' auf jeden Wert des Templates - zugreifen. Dieses Beispiel geht davon aus, dass $KundenId, $Namen und - $Adressen Arrays sind, welche die selbe Anzahl Werte enthalten *} -{section name=kunde loop=$KundenId} - id: {$KundenId[kunde]}<br> - name: {$Namen[kunde]}<br> - address: {$Adressen[kunde]}<br> - <p> -{/section} - - -AUSGABE: - -id: 1000<br> -name: Peter Müller <br> -adresse: 253 N 45th<br> -<p> -id: 1001<br> -name: Fritz Muster<br> -adresse:: 417 Mulberry ln<br> -<p> -id: 1002<br> -name: Hans Meier<br> -adresse:: 5605 apple st<br> -<p> - - - -section names - -{* die 'name'-Variable definiert den Namen der verwendet werden soll, - um Daten aus dieser 'section' zu referenzieren *} -{section name=meinedaten loop=$KundenId} - id: {$KundenId[meinedaten]}<br> - name: {$Namen[meinedaten]}<br> - address: {$Adressen[meinedaten]}<br> - <p> -{/section} - - - -nested sections (verschachtelte 'sections') - -{* Sections können unbegrenzt tief verschachtelt werden. - Mit verschachtelten 'sections' können Sie auf komplexe Datenstrukturen - zugreifen (wie zum Beispiel multidimensionale Arrays). Im folgenden Beispiel - ist $contact_type[customer] ein Array mit Kontakttypen des aktuellen Kunden. *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - {section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> - {/section} - <p> -{/section} - - -AUSGABE: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: john@mydomain.com<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<br> -<p> - - - -sections und assoziative Arrays - -{* Dies ist ein Beispiel wie man einen assoziativen Array - in einer 'section' ausgeben kann.*} -{section name=customer loop=$contacts} - name: {$contacts[customer].name}<br> - home: {$contacts[customer].home}<br> - cell: {$contacts[customer].cell}<br> - e-mail: {$contacts[customer].email}<p> -{/section} - -{* Anm. d. übersetzers: Oft ist die Anwendung von 'foreach' kürzer. *} - -{foreach item=customer from=$contacts} - name: {$customer.name}<br> - home: {$customer.home}<br> - cell: {$customer.cell}<br> - e-mail: {$customer.email}<p> -{/foreach} - - -AUSGABE: - -name: John Smith<br> -home: 555-555-5555<br> -cell: 555-555-5555<br> -e-mail: john@mydomain.com<p> -name: Jack Jones<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<p> -name: Jane Munson<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<p> - - - - - -sectionelse - -{* sectionelse wird aufgerufen, wenn keine $custid Werte vorhanden sind *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{sectionelse} - keine Werte in $custid gefunden -{/section} - - - Die Eigenschaften der 'section' werden in besonderen Variablen abgelegt. - Diese sind wie folgt aufgebaut: {$smarty.section.sectionname.varname} - - - Bermerkung: Seit Smarty 1.5.0 hat sich die Syntax der 'section' Eigenschaften - von {%sectionname.varname%} zu {$smarty.section.sectionname.varname} geändert. - Die alte Syntax wird noch immer unterstützt, die Dokumentation erwähnt - jedoch nur noch die neue Schreibweise. - - - index - - 'index' wird verwendet, um den aktuellen Schleifen-Index anzuzeigen. Er startet - bei 0 (beziehungsweise der definierten Startposition) und inkrementiert in 1-er Schritten - (beziehungsweise der definierten Schrittgrösse). - - - Technische Bemerkung - - Wenn 'step' und 'start' nicht übergeben werden, verhält sich - der Wert wie die 'section'-Eigenschaft 'iteration', ausser dass - er bei 0 anstatt 1 beginnt. - - - - 'section'-Eigenschaft 'index' - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - - AUSGABE: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - - - - index_prev - - 'index_prev' wird verwendet um den vorhergehenden Schleifen-Index - auszugeben. Bei der ersten Iteration ist dieser Wert -1. - - - section'-Eigenschaft 'index_prev' - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *} - {if $custid[customer.index_prev] ne $custid[customer.index]} - Die Kundennummer hat sich geändert.<br> - {/if} - {/section} - - - AUSGABE: - - 0 id: 1000<br> - Die Kundennummer hat sich geändert.<br> - 1 id: 1001<br> - Die Kundennummer hat sich geändert.<br> - 2 id: 1002<br> - Die Kundennummer hat sich geändert.<br> - - - - - index_next - - 'index_next' wird verwendet um den nächsten 'loop'-Index - auszugeben. Bei der letzten Iteration ist dieser Wert um 1 grösser - als der aktuelle 'loop'-Index (inklusive dem definierten 'step' Wert). - - - section'-Eigenschaft 'index_next' - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *} - {if $custid[customer.index_next] ne $custid[customer.index]} - Die Kundennummer wird sich ändern.<br> - {/if} - {/section} - - - AUSGABE: - - 0 id: 1000<br> - Die Kundennummer wird sich ändern.<br> - 1 id: 1001<br> - Die Kundennummer wird sich ändern.<br> - 2 id: 1002<br> - Die Kundennummer wird sich ändern.<br> - - - - - iteration - - 'iteration' wird verwendet um die aktuelle Iteration auszugeben. - - - Bemerkung: Die Eigenschaften 'start', 'step' und 'max' beeinflussen 'iteration' - nicht, die Eigenschaft 'index' jedoch schon. 'iteration' startet im gegensatz - zu 'index' bei 1. 'rownum' ist ein Alias für 'iteration' und arbeitet identisch. - - - 'section'-Eigenschaft 'iteration' - - {section name=customer loop=$custid start=5 step=2} - aktuelle loop iteration: {$smarty.section.customer.iteration}<br> - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das gleiche *} - {if $custid[customer.index_next] ne $custid[customer.index]} - Die Kundennummer wird sich ändern.<br> - {/if} - {/section} - - - AUSGABE: - - aktuelle loop iteration: 1 - 5 id: 1000<br> - Die Kundennummer wird sich ändern.<br> - aktuelle loop iteration: 2 - 7 id: 1001<br> - Die Kundennummer wird sich ändern.<br> - aktuelle loop iteration: 3 - 9 id: 1002<br> - Die Kundennummer wird sich ändern.<br> - - - - - first - - - 'first' ist 'true', wenn die aktuelle Iteration die erste dieser 'section' ist. - - - 'section'-Eigenschaft 'first' - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - AUSGABE: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - last - - - 'last' ist 'true' wenn die aktuelle Iteration die letzte dieser 'section' ist. - - - 'section'-Eigenschaft 'last' - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - AUSGABE: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - rownum - - 'rownum' wird verwendet um die aktuelle Iteration (startend bei 1) auszugeben. - 'rownum' ist ein Alias für 'iteration' und arbeitet identisch. - - - 'section'-Eigenschaft 'rownum' - - {section name=customer loop=$custid} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - - AUSGABE: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - - - - loop - - 'loop' wird verwendet, um die Nummer letzte Iteration der 'section' auszugeben. - Dieser Wert kann inner- und ausserhalb der 'section' verwendet werden. - - - 'section'-Eigenschaft 'loop' - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - Es wurden {$smarty.section.customer.loop} Kunden angezeigt. - - AUSGABE: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - Es wurden 3 Kunden angezeigt. - - - - - show - - show kann die Werte 'true' oder 'false' haben. - Falls der Wert 'true' ist, wird die 'section' angezeigt. Falls - der Wert 'false' ist, wird die 'section' - ausser dem 'sectionelse' - nicht ausgegeben. - - - 'section'-Eigenschaft 'show' - - {section name=customer loop=$custid show=$show_customer_info} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - {if $smarty.section.customer.show} - die 'section' wurde angezeigt - {else} - die 'section' wurde nicht angezeigt - {/if} - - - AUSGABE: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - die 'section' wurde angezeigt - - - - - total - - Wird verwendet um die Anzahl der durchlaufenen Iterationen einer - 'section' auszugeben. Kann innerhalb oder ausserhalb der 'section' verwendet - werden. - - - 'section'-Eigenschaft 'total' - - {section name=customer loop=$custid step=2} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - Es wurden {$smarty.section.customer.total} Kunden angezeigt. - - OUTPUT: - - 0 id: 1000<br> - 2 id: 1001<br> - 4 id: 1002<br> - - Es wurden 3 Kunden angezeigt. - - - - - - strip - - Webdesigner haben oft das Problem, dass Leerzeichen und Zeilenumbrüche - die Ausgabe des erzeugten HTML im Browser beeinflussen. Oft werden deshalb alle - Tags aufeinanderfolgend im Template notiert, was aber zu einer schlechten - Lesbarkeit führt. - - - Aus dem Inhalt zwischen den {strip}{/strip}-Tags werden alle Leerzeichen und - Zeilenumbrüche entfernt. So können Sie Ihre Templates lesbar - halten, ohne sich Sorgen um die Leerzeichen zu machen. - - - Technische Bemerkung - - {strip}{/strip} ändert nicht den Inhalt einer Template-Variablen. - Dafür gibt es den strip Modifikator. - - - -strip tags - - -{* der folgende Inhalt wird in einer Zeile ausgegeben *} -{strip} -<table border=0> - <tr> - <td> - <A HREF="{$url}"> - <font color="red">Das ist ein Test.</font> - </A> - </td> - </tr> -</table> -{/strip} - - -AUSGABE: - -<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">Das ist ein Test.</font></A></td></tr></table> - - - Achtung: im obigen Beispiel beginnen und enden alle Zeilen mit HTML-Tags. - Falls Sie Abschnitte haben, die nur Text enthalten, werden diese ebenfalls - zusammengeschlossen. Das kann zu unerwünschten Resultaten führen. - - +&designers.language-builtin-functions.language-function-capture; +&designers.language-builtin-functions.language-function-config-load; +&designers.language-builtin-functions.language-function-foreach; +&designers.language-builtin-functions.language-function-include; +&designers.language-builtin-functions.language-function-include-php; +&designers.language-builtin-functions.language-function-insert; +&designers.language-builtin-functions.language-function-if; +&designers.language-builtin-functions.language-function-ldelim; +&designers.language-builtin-functions.language-function-literal; +&designers.language-builtin-functions.language-function-php; +&designers.language-builtin-functions.language-function-section; +&designers.language-builtin-functions.language-function-strip; + + capture (Ausgabe abfangen) + + + + + + + + + + Attribut Name + Typ + Benötigt + Standardwert + Beschreibung + + + + + name + string + no + default + Der Name des abgefangenen Blocks + + + assign + string + No + n/a + Der Name der Variable welcher der Wert zugewiesen werden soll. + + + + + + 'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer + Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und {/capture} + wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über + '$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut + übergeben wurde, wird der Inhalt in 'default' abgelegt. + Jede {capture} Sektion muss mit {/capture} beendet werden. + 'capture'-Blöcke können verschachtelt sein. + + + Technische Bemerkung + + Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der + Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden. + Bitte passen Sie Ihre Templates entsprechend an. + + + + + Seien Sie vorsichtig, wenn sie die Ausgabe von insert + abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching + eingeschaltet ist und Sie einen insert + Befehl verwenden, um Ausgaben vom Caching auszuschliessen. + + + + + Template-Inhalte abfangen + + +{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *} +{capture name=banner} +{include file="get_banner.tpl"} +{/capture} +{if $smarty.capture.banner ne ""} + <tr> + <td> + {$smarty.capture.banner} + </td> + </tr> +{/if} + + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-config-load.xml b/docs/de/designers/language-builtin-functions/language-function-config-load.xml new file mode 100644 index 00000000..cda57fcf --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-config-load.xml @@ -0,0 +1,135 @@ + + + + config_load (Konfiguration laden) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + file + string + Ja + n/a + Definiert den Namen der einzubindenden Datei. + + + section + string + Nein + n/a + Definiert den Namen des zu ladenden Abschnitts. + + + scope + string + Nein + local + + Definiert den Geltungsbereich der zu ladenden Variablen. + Erlaubte Werte sind 'local','parent' und 'global'. 'local' bedeutet, + dass die Variablen in den Context des lokalen Template geladen werden. + 'parent' bedeutet, dass die Variablen sowohl in den lokalen Context, + als auch in den Context des aufrufenden Templates eingebunden werden. + 'global' bedeutet, dass die Variablen von allen Templates zugänglich sind. + + + + global + boolean + Nein + No + + DEPRECATED: + Definiert, ob die Variablen von allen Templates aus zugänglich sind. + Dieses Attribut wird von 'scope' abgelöst und sollte nicht mehr + verwendet werden. Falls 'scope' übergeben wurde, wird 'global' ignoriert. + + + + + + + Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei + in das Template zu laden. Sehen sie Config Files (Konfigurationsdateien) + für weitere Informationen. + + +Funktion config_load + + +{config_load file="farben.conf"} +<html> +<title>{#seitenTitel#}</title> +<body bgcolor="{#bodyHintergrundFarbe#}"> +<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> +<tr bgcolor="{#reiheHintergrundFarbe#}"> + <td>Vornamen</td> + <td>Nachnamen</td> + <td>Adresse</td> +</tr> +</table> +</body> +</html> + + + Konfigurationsdateien können Abschnitte enthalten. Um Variablen + aus einem Abschnitt zu laden, können Sie das Attribut + section übergeben. + + + Bemerkung: Konfigurationdatei-Abschnitte (sections) und die + eingebaute Template Funktion namens section haben ausser dem + Namen nichts gemeinsam. + + +Funktion config_load mit Abschnitten + +{config_load file="farben.conf" section="Kunde"} +<html> +<title>{#seitenTitel#}</title> +<body bgcolor="{#bodyHintergrundFarbe#}"> +<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> +<tr bgcolor="{#reiheHintergrundFarbe#}"> + <td>Vornamen</td> + <td>Nachnamen</td> + <td>Adresse</td> +</tr> +</table> +</body> +</html> + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-foreach.xml b/docs/de/designers/language-builtin-functions/language-function-foreach.xml new file mode 100644 index 00000000..32ec29e1 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-foreach.xml @@ -0,0 +1,178 @@ + + + + foreach, foreachelse + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + from + string + Ja + n/a + Name des zu durchlaufenden Array. + + + item + string + Ja + n/a + Name für das aktuelle Element. + + + key + string + Nein + n/a + Name für den aktuellen Schlüssel. + + + name + string + Nein + n/a + Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften. + + + + + + Die foreach Schleife ist eine Alternative zu section. + foreach wird verwendet, um ein assoziatives Array + zu durchlaufen. Die Syntax von foreach-Schleifen ist viel einfacher als + die von section. foreach tags müssen mit /foreach + tags kombiniert werden. Erforderliche Parameter sind: from und + item. Der Name der 'foreach'-Schleife kann frei vergeben werden + und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten. + foreach-Schleifen können verschachtelt werden, dabei ist + zu beachten, dass sich die definierten Namen voneinander unterscheiden. + Die from Variable (normalerweise + ein assoziatives Array) definiert die Anzahl der von foreach + zu durchlaufenen Iterationen. foreachelse wird ausgeführt wenn + keine Werte in der from Variable übergeben wurden. + + +foreach + + + + +{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *} +{foreach from=$KundenId item=aktuelle_id} + id: {$aktuelle_id}<br> +{/foreach} + +AUSGABE: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +foreach key + +{* Der Schlüssel enthält den Schlüssel des jeweils iterierten Wertes + +die Zuweisung sieht wie folgt aus: + +$smarty->assign("kontakte", array(array("phone" => "1", "fax" => "2", "cell" => "3"), + array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); + +*} + +{foreach name=aussen item=kontakt from=$kontakte} + {foreach key=schluessel item=wert from=$kontakt} + {$schluessel}: {$wert}<br> + {/foreach} +{/foreach} + +AUSGABE: + +phone: 1<br> +fax: 2<br> +cell: 3<br> +phone: 555-4444<br> +fax: 555-3333<br> +cell: 760-1234<br> + + + + Foreach-Loops haben auch eigene Variablen welche die Foreach Eigenschaften enthalten. + Diese werden wie folgt ausgewiesen: {$smarty.foreach.foreachname.varname}. foreachname + ist der Name der als name Attribut von Foreach übergeben wurden. + + + iteration + + gibt die aktuelle iteration aus + + + iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert. + + + + + first + + first ist TRUE wenn die aktuelle Iteration die erste ist + + + + + last + + last ist TRUE wenn die aktuelle Iteration die letzte ist + + + + + show + + show wird als Parameter von foreach verwedet und ist ein boolscher Wert, TRUE oder FALSE. Auf FALSE wird + nichts ausgegeben und wenn foreachelse gefunden wird, dieser angezeigt. + + + + + total + + total gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden. + + + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-if.xml b/docs/de/designers/language-builtin-functions/language-function-if.xml new file mode 100644 index 00000000..a17d275a --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-if.xml @@ -0,0 +1,107 @@ + + + + if,elseif,else + + 'if'-Statements in Smarty erlauben die selbe Flexibilität + wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine. + Jedes if muss mit einem /if + kombiniert sein. else und elseif + sind ebenfalls erlaubt. "eq", "ne","neq","gt", "lt", "lte", "le", "gte" "ge", + "is even","is odd", "is noteven","is not odd","not","mod","div by","even by", + "odd by","==","!=",">", "<","<=",">=" sind alles erlaubte Bedingungen, + und müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden. + + +if Anweisung + + +{* ein Beispiel mit 'eq' (gleich) *} +{if $name eq "Fred"} + Willkommen der Herr. +{elseif $name eq "Wilma"} + Willkommen die Dame. +{else} + Willkommen, was auch immer Du sein magst. +{/if} + +{* ein Beispiel mit 'or'-Logik *} +{if $name eq "Fred" or $name eq "Wilma"} + ... +{/if} + +{* das selbe *} +{if $name == "Fred" || $name == "Wilma"} + ... +{/if} + +{* die foldende Syntax ist nicht korrekt, da die Elemente welche die + Bedingung umfassen nicht mit Leerzeichen abgetrennt sind*} +{if $name=="Fred" || $name=="Wilma"} + ... +{/if} + + + +{* Klammern sind erlaubt *} +{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#} + ... +{/if} + + +{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *} +{if count($var) gt 0} + ... +{/if} + + +{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *} +{if $var is even} + ... +{/if} +{if $var is odd} + ... +{/if} +{if $var is not odd} + ... +{/if} + + +{* testen ob eine Zahl durch 4 teilbar ist (div by) *} +{if $var is div by 4} + ... +{/if} + + +{* testen ob eine Variable gerade ist, gruppiert nach 2 + 0=gerade, 1=gerade, 2=ungerade, 3=ungerade, 4=gerade, 5=gerade, etc *} +{if $var is even by 2} + ... +{/if} + +{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *} +{if $var is even by 3} + ... +{/if} + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-include-php.xml b/docs/de/designers/language-builtin-functions/language-function-include-php.xml new file mode 100644 index 00000000..6f27c778 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-include-php.xml @@ -0,0 +1,128 @@ + + + + include_php (PHP-Code einbinden) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + file + string + Ja + n/a + Der Name der einzubindenden PHP-Datei. + + + once + boolean + Nein + true + Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird. + + + assign + string + Nein + n/a + Der Name der Variable, der die Ausgabe von include_php zugewiesen wird. + + + + + + include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates + einzubinden. Falls 'Sicherheit' aktiviert ist, + muss das einzubindende Skript im '$trusted_dir' Pfad liegen. + 'include_php' muss das Attribut 'file' übergeben werden, + das den Pfad - entweder relativ zu '$trusted_dir' oder absolut - + zum Skript enthält. + + + include_php ist ein einfacher Weg, um modularisierte Templates zu + verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel + ein Template für die Seitennavigation, welche direkt + aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht, + können sie in einer eigenen Datei ablegen und am + Anfang Ihres Templates einbinden. Nun können Sie das Template + überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt + in die Navigationsstruktur gelangt. + + + Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen, + selbst wenn es mehrfach eingebunden wird. Sie können dieses + Verhalten durch die Verwendung des once Attributs + steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer + wenn sie eingebunden wird auch neu geladen. + + + Optional kann das assign Attribut übergeben werden. + Die Ausgabe von include_php wird dann nicht direkt eingefügt, + sondern in der durch assign benannten Template-Variable abgelegt. + + + Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden. + + +Funktion include_php + +lade_nav.php +------------- + +<?php + + + // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu + require_once("MySQL.class.php"); + $sql = new MySQL; + $sql->query("select * from site_nav_sections order by name",SQL_ALL); + $this->assign($sections,$sql->record); + +?> + + +index.tpl +--------- + + +{* absoluter Pfad, oder relativ zu '$trusted_dir' *} +{include_php file="/pfad/zu/lade_nav.php"} + +{foreach item=$aktuelle_section from=$sections} + <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br> +{/foreach} + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-include.xml b/docs/de/designers/language-builtin-functions/language-function-include.xml new file mode 100644 index 00000000..e8d5d824 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-include.xml @@ -0,0 +1,121 @@ + + + + include (einbinden) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + file + string + Ja + n/a + Name der Template-Datei, die eingebunden werden soll. + + + assign + string + Nein + n/a + Variable, welcher der eingebundene Inhalt zugewiesen werden soll. + + + [var ...] + [var typ] + Nein + n/a + Variablen welche dem Template lokal übergeben werden sollen. + + + + + + Include Tags werden verwendet, um andere Templates in das aktuelle Template einzubinden. + Alle Variablen des aktuellen Templates sind auch im eingebundenen Template verfügbar. + Das include-Tag muss ein 'file' Attribut mit dem Pfad zum einzubindenden + Template enthalten. + + + Optional kann mit dem assign Attribut definiert werden, + in welcher Variable die Ausgabe des mit include eingebundenen + Templates abgelegt werden soll statt sie auszugeben. + + +function include (einbinden) + +{include file="header.tpl"} + +{* hier kommt der body des Templates *} + +{include file="footer.tpl"} + + + Sie können dem einzubindenden Template Variablen + als Attribute übergeben. Alle explizit übergebenen + Variablen sind nur im Anwendungsbereich (scope) dieses Template + verfügbar. Attribut-Variablen überschreiben + aktuelle Template-Variablen, falls sie den gleichen Namen haben. + + +include-Funktion und Variablen Übergabe + +{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"} + +{* hier kommt der body des Templates *} + +{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} + + + Benutzen sie die Syntax von template resources, + um Templates ausserhalb des '$template_dir' einzubinden: + + +Beispiele für Template-Ressourcen bei der 'include'-Funktion + +{* absoluter Dateipfad *} +{include file="/usr/local/include/templates/header.tpl"} + +{* absoluter Dateipfad (gleich) *} +{include file="file:/usr/local/include/templates/header.tpl"} + +{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *} +{include file="file:C:/www/pub/templates/header.tpl"} + +{* einbinden aus Template-Ressource namens 'db' *} +{include file="db:header.tpl"} + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-insert.xml b/docs/de/designers/language-builtin-functions/language-function-insert.xml new file mode 100644 index 00000000..d8a5f836 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-insert.xml @@ -0,0 +1,138 @@ + + + + insert (einfügen) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Ja + n/a + Der Name der Insert-Funktion + + + assign + string + Nein + n/a + Name der Template-Variable, in der die Ausgabe der 'insert'-Funktion optional abgelegt wird. + + + script + string + Nein + n/a + Name des PHP-Skriptes, das vor Aufruf der 'insert'-Funktion eingebunden werden soll. + + + [var ...] + [var typ] + Nein + n/a + Variablen die der 'insert'-Funktion übergeben werden sollen. + + + + + + 'insert'-Tags funktionieren ähnlich den 'include'-Tags, + werden aber nicht gecached, falls caching + eingeschaltet ist. Sie werden bei jedem Aufruf des Templates ausgeführt. + + + Stellen Sie sich vor, sie hätten ein Template mit einem + Werbebanner. Dieser Banner kann verschiedene Arten von + Inhalten haben: Bilder, HTML, Flash, etc. + Deshalb können wir nicht einfach einen statischen Link + verwenden und müssen vermeiden, dass dieser Inhalt gecached wird. + Hier kommt das 'insert'-Tag ins Spiel. Das Template kennt die Variablen + '#banner_location_id#' und '#site_id#' (zum Beispiel aus einer Konfigurationsdatei) + und soll eine Funktion aufrufen, die den Inhalt des Banners liefert. + + +Funktion 'insert' + + +{* erzeugen des Banners *} +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} + + + In diesem Beispiel verwenden wir die Funktion 'getBanner' und + übergeben die Parameter '#banner_location_id#' und '#site_id#'. + Smarty wird daraufhin in Ihrer Applikatiopn nach einer Funktion + namens 'getBanner' suchen und diese mit den Parametern '#banner_location_id#' + und '#site_id#' aufrufen. Allen 'insert'-Funktionen in Ihrer Applikation + muss 'insert_' vorangestellt werden, um Konflikte im Namensraum + zu vermeiden. Ihre 'insert_getBanner()'-Funktion sollte etwas mit den + übergebenen Parametern unternehmen und das Resultat zurückgeben. + Dieses Resultat wird an der Stelle des 'insert'-Tags in Ihrem Template ausgegeben. + In diesem Beispiel würde Smarty folgende Funktion aufrufen: + insert_getBanner(array("lid" => "12345","sid" => "67890")) und die erhaltenen Resultate + an Stelle des 'insert'-Tags ausgeben. + + + Falls Sie das 'assign'-Attribut übergeben, wird die Ausgabe + des 'insert'-Tags in dieser Variablen abgelegt. + Bemerkung: dies ist nicht sinnvoll, wenn Caching eingeschaltet ist. + + + Falls Sie das 'script'-Attribut übergeben, wird das angegebene + PHP-Skript vor der Ausführung der 'insert'-Funktion eingebunden. + Dies ist nützlich, um die 'insert'-Funktion erst in diesem + Skript zu definieren. + Der Pfad kann absolut oder relativ zu '$trusted_dir' angegeben werden. + Wenn Sicherheit eingeschaltet ist, muss das Skript in '$trusted_dir' + liegen. + + + Als zweites Argument wird der 'insert'-Funktion das Smarty-Objekt selbst + übergeben. Damit kann dort auf die Informationen im Smarty-Objekt + zugegriffen werden. + + + Technische Bemerkung + + Es gibt die Möglichkeit, Teile des Templates nicht zu cachen. + Wenn Sie caching eingeschaltet haben, + werden 'insert'-Tags nicht gecached. Sie werden jedesmal ausgeführt, wenn + die Seite erstellt wird - selbst innerhalb gecachter Seiten. Dies funktioniert + gut für Dinge wie Werbung (Banner), Abstimmungen, Wetterberichte, Such-Resultate, Benutzer-Feedback-Ecke, etc. + + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-ldelim.xml b/docs/de/designers/language-builtin-functions/language-function-ldelim.xml new file mode 100644 index 00000000..5f4145fc --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-ldelim.xml @@ -0,0 +1,43 @@ + + + + ldelim,rdelim (Ausgabe der Trennzeichen) + + ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben - + in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu + interpretieren. + + +ldelim, rdelim + + +{* gibt die konfigurierten Trennzeichen des Templates aus *} + +{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus! + + +AUSGABE: + +{funktionsname} Funktionen sehen in Smarty so aus! + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-literal.xml b/docs/de/designers/language-builtin-functions/language-function-literal.xml new file mode 100644 index 00000000..def4fd90 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-literal.xml @@ -0,0 +1,53 @@ + + + + literal + + 'literal'-Tags erlauben es, einen Block wörtlich auszugeben, + d.h. von der Interpretation durch Smarty auszuschliessen. + Dies ist vor allem für Javascript- oder andere Blöcke + nützlich, die geschwungene Klammern verwenden. Alles + was zwischen den {literal}{/literal} Tags steht, wird direkt + angezeigt. + +literal-Tags + +{literal} + <script language=javascript> + + <!-- + function isblank(field) { + if (field.value == '') + { return false; } + else + { + document.loginform.submit(); + return true; + } + } + // --> + + </script> +{/literal} + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-php.xml b/docs/de/designers/language-builtin-functions/language-function-php.xml new file mode 100644 index 00000000..dac82e39 --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-php.xml @@ -0,0 +1,40 @@ + + + + php + + 'php'-Tags erlauben es, PHP-Code direkt in das Template einzubetten. Der Inhalt + wird nicht 'escaped', egal wie $php_handling + konfiguriert ist. + Dieses Tag ist nur für erfahrene Benutzer gedacht und wird + auch von diesen normalerweise nicht benötigt. + + +php-Tags + +{php} + // php Skript direkt von Template einbinden + include("/pfad/zu/zeige_weather.php"); +{/php} + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-section.xml b/docs/de/designers/language-builtin-functions/language-function-section.xml new file mode 100644 index 00000000..5e32d0da --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-section.xml @@ -0,0 +1,570 @@ + + + + section,sectionelse + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Ja + n/a + Der Name der 'section' + + + loop + [$variable_name] + Ja + n/a + Der Name des Zählers für die Iterationen. + + + start + integer + Nein + 0 + + Definiert die Startposition. Falls ein negativer Wert übergeben wird, + berechnet sich die Startposition ausgehend vom Ende des Arrays. Wenn zum Beispiel + 7 Werte in einem Array enthalten sind und die Startposition -2 ist, ist die + berechnete Startposition 5. Unerlaubte Werte (Werte ausserhalb der Grösse des + Arrays) werden automatisch auf den nächstmöglichen Wert gesetzt. + + + step + integer + Nein + 1 + + Definiert die Schrittweite mit welcher das Array durchlaufen wird. + 'step=2' iteriert durch 0, 2, 4, etc. Wenn ein negativer Wert übergeben wurde, + wird das Array rückwärts durchlaufen. + + + + max + integer + Nein + 1 + Maximale Anzahl an Iterationen, die Durchlaufen werden. + + + show + boolean + Nein + true + Definiert ob diese 'section' angezeigt werden soll oder nicht. + + + + + + Template-'sections' werden verwendet, um durch Arrays zu iterieren. + Jedes section-Tag muss mit einem /section-Tag + kombiniert werden. name und loop sind erforderliche + Parameter. Der Name der 'section' kann frei gewählt werden, muss jedoch aus Buchstaben, + Zahlen oder Unterstrichen bestehen. 'sections' können verschachtelt werden. Dabei ist + zu beachten, dass sich ihre Namen unterscheiden. Aus der 'loop'-Variable (normalerweise ein + Array von Werten) resultiert die Anzahl der Iterationen, die durchlaufen werden. + Wenn ein Wert aus der 'loop'-Variable innerhalb der 'section' ausgegeben werden soll, + muss der 'section-name' umschlossen mit [] angefügt werden. + sectionelse wird ausgeführt, wenn keine Werte in der + 'loop'-Variable enthalten sind. + + +section + + + +{* dieses Beispiel gibt alle Werte des $KundenId Arrays aus *} +{section name=kunde loop=$KundenId} + id: {$KundenId[kunde]}<br> +{/section} + +AUSGABE: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +section loop Variable + +{* die 'loop'-Variable definiert nur die Anzahl der Iterationen, + Sie können in dieser 'section' auf jeden Wert des Templates + zugreifen. Dieses Beispiel geht davon aus, dass $KundenId, $Namen und + $Adressen Arrays sind, welche die selbe Anzahl Werte enthalten *} +{section name=kunde loop=$KundenId} + id: {$KundenId[kunde]}<br> + name: {$Namen[kunde]}<br> + address: {$Adressen[kunde]}<br> + <p> +{/section} + + +AUSGABE: + +id: 1000<br> +name: Peter Müller <br> +adresse: 253 N 45th<br> +<p> +id: 1001<br> +name: Fritz Muster<br> +adresse:: 417 Mulberry ln<br> +<p> +id: 1002<br> +name: Hans Meier<br> +adresse:: 5605 apple st<br> +<p> + + + +section names + +{* die 'name'-Variable definiert den Namen der verwendet werden soll, + um Daten aus dieser 'section' zu referenzieren *} +{section name=meinedaten loop=$KundenId} + id: {$KundenId[meinedaten]}<br> + name: {$Namen[meinedaten]}<br> + address: {$Adressen[meinedaten]}<br> + <p> +{/section} + + + +nested sections (verschachtelte 'sections') + +{* Sections können unbegrenzt tief verschachtelt werden. + Mit verschachtelten 'sections' können Sie auf komplexe Datenstrukturen + zugreifen (wie zum Beispiel multidimensionale Arrays). Im folgenden Beispiel + ist $contact_type[customer] ein Array mit Kontakttypen des aktuellen Kunden. *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> + {/section} + <p> +{/section} + + +AUSGABE: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: john@mydomain.com<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<br> +<p> + + + +sections und assoziative Arrays + +{* Dies ist ein Beispiel wie man einen assoziativen Array + in einer 'section' ausgeben kann.*} +{section name=customer loop=$contacts} + name: {$contacts[customer].name}<br> + home: {$contacts[customer].home}<br> + cell: {$contacts[customer].cell}<br> + e-mail: {$contacts[customer].email}<p> +{/section} + +{* Anm. d. übersetzers: Oft ist die Anwendung von 'foreach' kürzer. *} + +{foreach item=customer from=$contacts} + name: {$customer.name}<br> + home: {$customer.home}<br> + cell: {$customer.cell}<br> + e-mail: {$customer.email}<p> +{/foreach} + + +AUSGABE: + +name: John Smith<br> +home: 555-555-5555<br> +cell: 555-555-5555<br> +e-mail: john@mydomain.com<p> +name: Jack Jones<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<p> +name: Jane Munson<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<p> + + + + + +sectionelse + +{* sectionelse wird aufgerufen, wenn keine $custid Werte vorhanden sind *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{sectionelse} + keine Werte in $custid gefunden +{/section} + + + Die Eigenschaften der 'section' werden in besonderen Variablen abgelegt. + Diese sind wie folgt aufgebaut: {$smarty.section.sectionname.varname} + + + Bermerkung: Seit Smarty 1.5.0 hat sich die Syntax der 'section' Eigenschaften + von {%sectionname.varname%} zu {$smarty.section.sectionname.varname} geändert. + Die alte Syntax wird noch immer unterstützt, die Dokumentation erwähnt + jedoch nur noch die neue Schreibweise. + + + index + + 'index' wird verwendet, um den aktuellen Schleifen-Index anzuzeigen. Er startet + bei 0 (beziehungsweise der definierten Startposition) und inkrementiert in 1-er Schritten + (beziehungsweise der definierten Schrittgrösse). + + + Technische Bemerkung + + Wenn 'step' und 'start' nicht übergeben werden, verhält sich + der Wert wie die 'section'-Eigenschaft 'iteration', ausser dass + er bei 0 anstatt 1 beginnt. + + + + 'section'-Eigenschaft 'index' + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + + AUSGABE: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + + + + index_prev + + 'index_prev' wird verwendet um den vorhergehenden Schleifen-Index + auszugeben. Bei der ersten Iteration ist dieser Wert -1. + + + section'-Eigenschaft 'index_prev' + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *} + {if $custid[customer.index_prev] ne $custid[customer.index]} + Die Kundennummer hat sich geändert.<br> + {/if} + {/section} + + + AUSGABE: + + 0 id: 1000<br> + Die Kundennummer hat sich geändert.<br> + 1 id: 1001<br> + Die Kundennummer hat sich geändert.<br> + 2 id: 1002<br> + Die Kundennummer hat sich geändert.<br> + + + + + index_next + + 'index_next' wird verwendet um den nächsten 'loop'-Index + auszugeben. Bei der letzten Iteration ist dieser Wert um 1 grösser + als der aktuelle 'loop'-Index (inklusive dem definierten 'step' Wert). + + + section'-Eigenschaft 'index_next' + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *} + {if $custid[customer.index_next] ne $custid[customer.index]} + Die Kundennummer wird sich ändern.<br> + {/if} + {/section} + + + AUSGABE: + + 0 id: 1000<br> + Die Kundennummer wird sich ändern.<br> + 1 id: 1001<br> + Die Kundennummer wird sich ändern.<br> + 2 id: 1002<br> + Die Kundennummer wird sich ändern.<br> + + + + + iteration + + 'iteration' wird verwendet um die aktuelle Iteration auszugeben. + + + Bemerkung: Die Eigenschaften 'start', 'step' und 'max' beeinflussen 'iteration' + nicht, die Eigenschaft 'index' jedoch schon. 'iteration' startet im gegensatz + zu 'index' bei 1. 'rownum' ist ein Alias für 'iteration' und arbeitet identisch. + + + 'section'-Eigenschaft 'iteration' + + {section name=customer loop=$custid start=5 step=2} + aktuelle loop iteration: {$smarty.section.customer.iteration}<br> + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das gleiche *} + {if $custid[customer.index_next] ne $custid[customer.index]} + Die Kundennummer wird sich ändern.<br> + {/if} + {/section} + + + AUSGABE: + + aktuelle loop iteration: 1 + 5 id: 1000<br> + Die Kundennummer wird sich ändern.<br> + aktuelle loop iteration: 2 + 7 id: 1001<br> + Die Kundennummer wird sich ändern.<br> + aktuelle loop iteration: 3 + 9 id: 1002<br> + Die Kundennummer wird sich ändern.<br> + + + + + first + + + 'first' ist 'true', wenn die aktuelle Iteration die erste dieser 'section' ist. + + + 'section'-Eigenschaft 'first' + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + AUSGABE: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + last + + + 'last' ist 'true' wenn die aktuelle Iteration die letzte dieser 'section' ist. + + + 'section'-Eigenschaft 'last' + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + AUSGABE: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + rownum + + 'rownum' wird verwendet um die aktuelle Iteration (startend bei 1) auszugeben. + 'rownum' ist ein Alias für 'iteration' und arbeitet identisch. + + + 'section'-Eigenschaft 'rownum' + + {section name=customer loop=$custid} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + + AUSGABE: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + + + + loop + + 'loop' wird verwendet, um die Nummer letzte Iteration der 'section' auszugeben. + Dieser Wert kann inner- und ausserhalb der 'section' verwendet werden. + + + 'section'-Eigenschaft 'loop' + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + Es wurden {$smarty.section.customer.loop} Kunden angezeigt. + + AUSGABE: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + Es wurden 3 Kunden angezeigt. + + + + + show + + show kann die Werte 'true' oder 'false' haben. + Falls der Wert 'true' ist, wird die 'section' angezeigt. Falls + der Wert 'false' ist, wird die 'section' - ausser dem 'sectionelse' - nicht ausgegeben. + + + 'section'-Eigenschaft 'show' + + {section name=customer loop=$custid show=$show_customer_info} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + {if $smarty.section.customer.show} + die 'section' wurde angezeigt + {else} + die 'section' wurde nicht angezeigt + {/if} + + + AUSGABE: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + die 'section' wurde angezeigt + + + + + total + + Wird verwendet um die Anzahl der durchlaufenen Iterationen einer + 'section' auszugeben. Kann innerhalb oder ausserhalb der 'section' verwendet + werden. + + + 'section'-Eigenschaft 'total' + + {section name=customer loop=$custid step=2} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + Es wurden {$smarty.section.customer.total} Kunden angezeigt. + + OUTPUT: + + 0 id: 1000<br> + 2 id: 1001<br> + 4 id: 1002<br> + + Es wurden 3 Kunden angezeigt. + + + + + \ No newline at end of file diff --git a/docs/de/designers/language-builtin-functions/language-function-strip.xml b/docs/de/designers/language-builtin-functions/language-function-strip.xml new file mode 100644 index 00000000..87e7fd4e --- /dev/null +++ b/docs/de/designers/language-builtin-functions/language-function-strip.xml @@ -0,0 +1,70 @@ + + + + strip + + Webdesigner haben oft das Problem, dass Leerzeichen und Zeilenumbrüche + die Ausgabe des erzeugten HTML im Browser beeinflussen. Oft werden deshalb alle + Tags aufeinanderfolgend im Template notiert, was aber zu einer schlechten + Lesbarkeit führt. + + + Aus dem Inhalt zwischen den {strip}{/strip}-Tags werden alle Leerzeichen und + Zeilenumbrüche entfernt. So können Sie Ihre Templates lesbar + halten, ohne sich Sorgen um die Leerzeichen zu machen. + + + Technische Bemerkung + + {strip}{/strip} ändert nicht den Inhalt einer Template-Variablen. + Dafür gibt es den strip Modifikator. + + + +strip tags + + +{* der folgende Inhalt wird in einer Zeile ausgegeben *} +{strip} +<table border=0> + <tr> + <td> + <A HREF="{$url}"> + <font color="red">Das ist ein Test.</font> + </A> + </td> + </tr> +</table> +{/strip} + + +AUSGABE: + +<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">Das ist ein Test.</font></A></td></tr></table> + + + Achtung: im obigen Beispiel beginnen und enden alle Zeilen mit HTML-Tags. + Falls Sie Abschnitte haben, die nur Text enthalten, werden diese ebenfalls + zusammengeschlossen. Das kann zu unerwünschten Resultaten führen. + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions.xml b/docs/de/designers/language-custom-functions.xml index 4d0683dc..e02d8816 100644 --- a/docs/de/designers/language-custom-functions.xml +++ b/docs/de/designers/language-custom-functions.xml @@ -6,2387 +6,24 @@ Smarty wird mit verschiedenen massgeschneiderten Funktionen geliefert, welche Sie in Ihren Templates verwenden können. - - assign (zuweisen) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - var - string - Ja - n/a - Der Name der zuzuweisenden Variable. - - - value - string - Ja - n/a - Der zuzuweisende Wert. - - - - - - 'assign' wird verwendet um einer Template-Variable einen Wert zuzuweisen. - - -assign (zuweisen) - -{assign var="name" value="Bob"} - -Der Wert von $name ist {$name}. - -AUSGABE: - -Der Wert von $name ist Bob. - - - - counter (Zähler) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Nein - default - Der Name des Zählers. - - - start - number - Nein - 1 - Der Initialwert. - - - skip - number - Nein - 1 - Der Interval. - - - direction - string - Nein - up - Die Richtung (up/down). - - - print - boolean - Nein - true - Definiert ob der Wert ausgegeben werden soll. - - - assign - string - Nein - n/a - Die Template-Variable welcher der Wert zugewiesen werden soll. - - - - - - 'counter' wird verwendet um eine Zahlenreihe auszugeben. Sie können - den Initialwert bestimmen, den Zählinterval, die Richtung in der - gezählt werden soll und ob der Wert ausgegeben wird. Sie können - mehrere Zähler gleichzeitig laufen lassen, in dem Sie ihnen einmalige - Namen geben. Wenn Sie keinen Wert für 'name' übergeben, wird 'default' - verwendet. - - - Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Zählers - dieser Template-Variable zugewiesen anstatt ausgegeben zu werden. - - -counter (Zähler) - - -{* initialisieren *} -{counter start=0 skip=2 print=false} - -{counter}<br> -{counter}<br> -{counter}<br> -{counter}<br> - -AUSGABE: - -2<br> -4<br> -6<br> -8<br> - - - - cycle (Zyklus) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Nein - default - Der Name des Zyklus. - - - values - mixed - Ja - N/A - - Die Werte durch die zirkuliert werden soll, entweder als - Komma separierte Liste (siehe 'delimiter'-Attribut), oder - als Array. - - - - print - boolean - Nein - true - Definiert ob die Werte ausgegeben werden sollen oder nicht. - - - advance - boolean - Nein - true - Definiert ob der nächste Wert automatisch angesprungen werden soll. - - - delimiter - string - Nein - , - Das zu verwendende Trennzeichen. - - - assign - string - Nein - n/a - Der Name der Template-Variable welcher die Ausgabe zugewiesen werden soll. - - - - - - 'cycle' wird verwendet um durch ein Set von Werten zu zirkulieren. - Dies vereinfacht die Handhabung von zwei oder mehr Farben in einer - Tabelle, oder um einen Array zu durchlaufen. - - - Sie können durch mehrere Sets gleichzeitig iterieren, indem - Sie den Sets einmalige Namen geben. - - - Um den aktuellen Wert nicht auszugeben, kann das 'print' Attribut auf - 'false' gesetzt werden. Dies könnte sinnvoll sein, wenn man einen - einzelnen Wert überspringen möchte. - - - Das 'advance'-Attribut wird verwendet um einen Wert zu wiederholen. - Wenn auf 'false' gesetzt, wird bei der nächsten Iteration der selbe - Wert erneut ausgegeben. - - - Wenn sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe - der 'cycle'-Funktion in dieser Template-Variable abgelegt, anstatt ausgegeben zu werden. - - -cycle (Zyklus) - - -{* initialisieren *} -{cycle values="#eeeeee,#d0d0d0"} -{cycle} -{cycle} - - -AUSGABE: - -#eeeeee -#d0d0d0 -#eeeeee - - - - debug - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - output - string - Nein - html - Ausgabe-Typ, entweder HTML oder Javascript. - - - - - - {debug} zeigt die 'debugging'-Konsole auf der Seite an. $debug - hat darauf keinen Einfluss. Da die Ausgabe zur Laufzeit geschieht, können die Template-Namen hier - nicht ausgegeben werden. Sie erhalten jedoch eine Liste aller zugewiesenen Variablen und deren Werten. - - - - eval (auswerten) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - var - mixed - Ja - n/a - Variable oder Zeichenkette die ausgewertet werden soll. - - - assign - string - Nein - n/a - Die Template-Variable welcher die Ausgabe zugewiesen werden soll. - - - - - - 'eval' wird verwendet um eine Variable als Template auszuwerten. Dies kann - verwendet werden um Template-Tags/Variablen in einer Variable oder - einer Konfigurationsdatei abzulegen. - - - Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe - von 'eval' in dieser Template-Variable gespeichert und nicht ausgegeben. - - - Technische Bemerkung - - Evaluierte Variablen werden gleich wie Template-Variablen verwendet - und folgen den selben Maskierungs- und Sicherheits-Features. - - - - Technische Bemerkung - - Evaluierte Variablen werden bei jedem Aufruf neu ausgewertet. Die kompilierten - Versionen werden dabei nicht abgelegt! Falls sie caching eingeschaltet haben, wird - die Ausgabe jedoch mit dem Rest des Templates gecached. - - - -eval (auswerten) - -setup.conf ----------- - -emphstart = <b> -emphend = </b> -title = Willkommen auf {$company}'s home page! -ErrorCity = Bitte geben Sie einen {#emphstart#}Stadtnamen{#emphend#} ein. -ErrorState = Bitte geben Sie einen {#emphstart#}Provinznamen{#emphend#} ein. - - -index.tpl ---------- - -{config_load file="setup.conf"} - -{eval var=$foo} -{eval var=#title#} -{eval var=#ErrorCity#} -{eval var=#ErrorState# assign="state_error"} -{$state_error} - -AUSGABE: - -Dies ist der Inhalt von foo: - -Willkommen auf Pub & Grill's home page! -Bitte geben Sie einen <b>Stadtnamen</b> ein. -Bitte geben Sie einen <b>Provinznamen</b> ein. - - - - - - fetch - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - file - string - Ja - n/a - Die Datei, FTP oder HTTP Seite die geliefert werden soll. - - - assign - string - Nein - n/a - Die Template-Variable welcher die Ausgabe zugewiesen werden soll. - - - - - - 'fetch' wird verwendet um lokale oder via HTTP beziehungsweise FTP verfügbare Inhalte - auszugeben. Wenn der Dateiname mit 'http://' anfängt, wird die angegebene - Webseite geladen und angezeigt. Wenn der Dateiname mit 'ftp://' anfängt - wird die Datei vom FTP-Server geladen und angezeigt. Für lokale Dateien - muss der absolute Pfad, oder ein Pfad relativ zum ausgeführten Skript übergeben werden. - - - Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe - der 'fetch'-Funktion dieser Template-Variable zugewiesen, anstatt ausgegeben - zu werden (seit Smarty 1.5.0). - - - Technische Bemerkung - - HTTP-Redirects werden nicht unterstützt, stellen Sie sicher, - dass die aufgerufene URL falls nötig durch ein '/'-Zeichen (slash) beendet wird. - - - - Technische Bemerkung - - Wenn Sicherheit eingeschaltet ist, und Dateien vom lokalen System - geladen werden sollen, ist dies nur für Dateien erlaubt welche - sich in einem definierten sicheren Verzeichnis befinden. ($secure_dir) - - - -fetch - - -{* einbinden von javascript *} -{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} - - -{* Wetter Informationen aus einer anderen Webseite bei uns anzeigen *} -{fetch file="http://www.myweather.com/68502/"} - - -{* News Datei via FTP auslesen *} -{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} - - -{* die Ausgabe einer Template variable zuweisen *} -{fetch file="http://www.myweather.com/68502/" assign="weather"} -{if $weather ne ""} - <b>{$weather}</b> -{/if} - - - - html_checkboxes (Ausgabe von HTML-CHECKBOX Tag) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Nein - checkbox - Name der checkbox Liste - - - values - array - ja, ausser wenn das option Attribut verwendet wird - n/a - ein Array mit Werten für die checkboxes - - - output - array - ja, ausser wenn das option Attribut verwendet wird - n/a - ein Array mit Werten für checkbox Knöpfe - - - selected - string/array - No - empty - das/die ausgewählten checkbox Elemente - - - options - assoziatives array - Ja, ausser values/output wird verwendet - n/a - ein assoziatives Array mit Werten und Ausgaben - - - separator - string - No - empty - Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll - - - labels - boolean - No - true - fügt der Ausgabe <label>-Tags hinzu - - - - - - html_checkboxes ist eine Funktion die aus den übergebenen Daten html checkbox - Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind. - Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel - - - Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben. - - -html_checkboxes - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_checkboxes', array( - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} - - -AUSGABE: (beider Beispiele) - -<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br /> - - - - html_image (Ausgabe von HTML-IMG Tag) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - file - string - Ja - n/a - Name/Pfad zum Bild - - - border - string - Nein - 0 - Stärke des Rahmens - - - height - string - No - Normale Höhe des Bildes - Höhe des Bildes - - - width - string - No - Normale Breite des Bildes - Breite des Bildes - - - basedir - string - no - DOCUMENTROOT - Basisverzeichnis für relative Pfadangaben - - - alt - string - no - "" - Alternative Beschreibung des Bildes - - - href - string - no - n/a - Link für das Bild - - - - - - html_image ist eine eigene Funktion die ein HTML Tag für ein Bild erzeugt. - Die Höhe und Breite der Ausgabe wird automatisch aus der Bilddatei berechnet - wenn die Werte nicht übergeben werden. - - - basedir ist der Basispfad der für die Verlinkung verwendet werden soll. Wenn kein - Wert übergeben wird, wird die Umgebungsvariable DOCUMENT_ROOT verwendet. Wenn Sicherheit - eingeschaltet ist, muss das Bild in einem sicheren Verzeichnis liegen. - - - href ist das href Attribut für das Image-Tag. Wenn dieser Wert übergeben wird, - wird um das Bild ein <a href="LINKVALUE"><a> Tag erzeugt. - - - Technische Bemerkung - - html_image greift auf das Dateisystem zu um Höhe und Breite zu errechnen. Wenn Sie - caching nicht verwenden sollten Sie normalerweise auf diese Funktion aus performance Gründen verzichten. - - - -html_image - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->display('index.tpl'); - -index.tpl: - -{html_image file="pumpkin.jpg"} -{html_image file="/path/from/docroot/pumpkin.jpg"} -{html_image file="../path/relative/to/currdir/pumpkin.jpg"} - -AUSGABE: (möglich) - -<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /> -<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" /> -<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" /> - - - - - - - - html_options (Ausgabe von HTML-Options) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - values - array - Ja, ausser 'options'-Attribut wird verwendet. - n/a - Array mit Werten für die dropdown-Liste. - - - output - array - Ja, ausser 'options'-Attribut wird verwendet. - n/a - Arrays mit Namen für die dropdown-Liste. - - - selected - string - Nein - empty - Das ausgewählte Array Element. - - - options - associative array - Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden. - n/a - Assoziatives Array mit Werten die ausgegeben werden sollen. - - - - - - 'html_options' wird verwendet um HTML-Options Listen mit den übergebenen Daten - zu erzeugen. Die Funktion kümmert sich ebenfalls um das setzen des ausgewählten - Standardwertes. Die Attribute 'values' und 'output' sind erforderlich, - ausser man verwendet das Attribut 'options'. Wenn ein Wert als Array erkannt wird, - wird er als HTML-OPTGROUP ausgegeben und die Werte werden in Gruppen dargestellt. - Rekursion wird unterstützt. Die Ausgabe ist XHTML kompatibel. - - -html_options - -{* nehmen Sie an, dass $cust_ids und $cust_names Arrays mit Werten sind, - während $customer_id auch leer sein kann *} - -<select name=customer_id> - {html_options values=$cust_ids selected=$customer_id output=$cust_names} -</select> - - -{* alternativ können die Werte aus 'values' und 'output' als assoziative Arrays - an 'options' übergeben werden. $customer_options ist in diesem Beispiel ein assoziatives Array *} - -<select name=customer_id> - {html_options options=$customer_options selected=$customer_id} -</select> - - -AUSGABE: - -<select name=customer_id> - <option value="1000">Joe Schmoe</option> - <option value="1001" selected="selected">Jack Smith</option> - <option value="1002">Jane Johnson</option> - <option value="1003">Charlie Brown</option> -</select> - - - - html_radios (Ausgabe von HTML-RADIO Tags) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - name - string - Nein - radio - Name der Radio Liste - - - values - array - Ja, ausser 'options'-Attribut wird verwendet. - n/a - Array mit Werten für die dropdown-Liste. - - - output - array - Ja, ausser 'options'-Attribut wird verwendet. - n/a - Arrays mit Namen für die dropdown-Liste. - - - selected - string - Nein - empty - Das ausgewählte Array Element. - - - options - associative array - Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden. - n/a - Assoziatives Array mit Werten die ausgegeben werden sollen. - - - separator - string - No - empty - Die Zeichenkette die zwischen 2 Radioelemente eingefügt werden soll. - - - - - - html_radio ist eine Funktion die aus den übergebenen Daten html radio - Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind. - Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel - - -html_radios - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_radios', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} - - -AUSGABE: (beider Beispiele) - -<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> -<input type="radio" name="id[]" value="1001" checked="checked"><br /> -<input type="radio" name="id[]" value="1002">Jane Johnson<br /> -<input type="radio" name="id[]" value="1003">Charlie Brown<br /> - - - - - html_select_date (Ausgabe von Daten als HTML-'options') - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - prefix - string - Nein - Date_ - Prefix für die Namen. - - - time - timestamp/YYYY-MM-DD - Nein - Aktuelle Zeit als Unix-Timestamp, oder in YYYY-MM-DD format. - Das zu verwendende Datum. - - - start_year - string - Nein - aktuelles Jahr - Das erste Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N). - - - end_year - string - Nein - Gegenteil von start_year - Das letzte Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N). - - - display_days - boolean - Nein - true - Definiert ob Tage ausgegeben sollen oder nicht. - - - display_months - boolean - Nein - true - Definiert ob Monate ausgegeben werden sollen oder nicht. - - - display_years - boolean - Nein - true - Definiert ob Jahre ausgegeben werden sollen oder nicht. - - - month_format - string - Nein - %B - Format in welchem der Monat ausgegeben werden soll. (strftime) - - - day_format - string - Nein - %02d - Definiert das Format in welchem der Tag ausgegeben werden soll. (sprintf) - - - year_as_text - boolean - Nein - false - Definiert ob das Jahr als Text ausgegeben werden soll oder nicht. - - - reverse_years - boolean - Nein - false - Definiert ob die Daten in verkehrter Reihenfolge ausgegeben werden sollen. - - - field_array - string - Nein - null - - Wenn ein Namen übergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zurückgegeben. - - - - day_size - string - Nein - null - Fügt dem 'select'-Tag das Attribut 'size' hinzu. - - - month_size - string - Nein - null - Fügt dem 'select'-Tag das Attribut 'size' hinzu. - - - year_size - string - Nein - null - Fügt dem 'select'-Tag das Attribut 'size' hinzu. - - - all_extra - string - Nein - null - Fügt allen 'select'-Tags zusätzliche Attribute hinzu. - - - day_extra - string - Nein - null - Fügt 'select'-Tags zusätzliche Attribute hinzu. - - - month_extra - string - Nein - null - Fügt 'select'-Tags zusätzliche Attribute hinzu. - - - year_extra - string - Nein - null - Fügt 'select'-Tags zusätzliche Attribute hinzu. - - - field_order - string - Nein - MDY - Die Reihenfolge in der die Felder ausgegeben werden. - - - field_separator - string - Nein - \n - Zeichenkette die zwischen den Feldern ausgegeben werden soll. - - - month_value_format - string - Nein - %m - Format zur Ausgabe der Monats-Werte, Standardwert ist %m. (strftime) - - - - - - 'html_select_date' wird verwendet um Datums-Dropdown-Listen zu erzeugen, - und kann einen oder alle der folgenden Werte darstellen: Jahr, Monat und Tag - - -html_select_date - -{html_select_date} - - -AUSGABE: - -<select name="Date_Month"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="Date_Day"> -<option value="1">01</option> -<option value="2">02</option> -<option value="3">03</option> -<option value="4">04</option> -<option value="5">05</option> -<option value="6">06</option> -<option value="7">07</option> -<option value="8">08</option> -<option value="9">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13" selected>13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -</select> -<select name="Date_Year"> -<option value="2001" selected>2001</option> -</select> - - - - -html_select_date - - - -{* Start- und End-Jahr können relativ zum aktuellen Jahr definiert werden. *} -{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} - -AUSGABE: (aktuelles Jahr ist 2000) - -<select name="StartDateMonth"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="StartDateYear"> -<option value="1999">1995</option> -<option value="1999">1996</option> -<option value="1999">1997</option> -<option value="1999">1998</option> -<option value="1999">1999</option> -<option value="2000" selected>2000</option> -<option value="2001">2001</option> -</select> - - - - html_select_time (Ausgabe von Zeiten als HTML-'options') - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - prefix - string - Nein - Time_ - Prefix des Namens. - - - time - timestamp - Nein - Aktuelle Uhrzeit. - Definiert die zu verwendende Uhrzeit. - - - display_hours - boolean - Nein - true - Definiert ob Stunden ausgegeben werden sollen. - - - display_minutes - boolean - Nein - true - Definiert ob Minuten ausgegeben werden sollen. - - - display_seconds - boolean - Nein - true - Definiert ob Sekunden ausgegeben werden sollen. - - - display_meridian - boolean - Nein - true - Definiert ob der Meridian (am/pm) ausgegeben werden soll. - - - use_24_hours - boolean - Nein - true - Definiert ob die Stunden in 24-Stunden Format angezeigt werden sollen oder nicht. - - - minute_interval - integer - Nein - 1 - Definiert den Interval in der Minuten-Dropdown-Liste. - - - second_interval - integer - Nein - 1 - Definiert den Interval in der Sekunden-Dropdown-Liste. - - - field_array - string - Nein - n/a - Gibt die Daten in einen Array dieses Namens aus. - - - all_extra - string - Nein - null - Fügt allen 'select'-Tags zusätzliche Attribute hinzu. - - - hour_extra - string - Nein - null - Fügt dem Stunden-'select'-Tag zusätzliche Attribute hinzu. - - - minute_extra - string - Nein - null - Fügt dem Minuten-'select'-Tag zusätzliche Attribute hinzu. - - - second_extra - string - Nein - null - Fügt dem Sekunden-'select'-Tag zusätzliche Attribute hinzu. - - - meridian_extra - string - No - null - Fügt dem Meridian-'select'-Tag zusätzliche Attribute hinzu. - - - - - - 'html_select_time' wird verwendet um Zeit-Dropdown-Listen zu erzeugen. - Die Funktion kann alle oder eines der folgenden Felder ausgeben: Stunde, Minute, Sekunde und Meridian. - - -html_select_time - -{html_select_time use_24_hours=true} - - -AUSGABE: - -<select name="Time_Hour"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09" selected>09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -</select> -<select name="Time_Minute"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20" selected>20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Second"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23" selected>23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Meridian"> -<option value="am" selected>AM</option> -<option value="pm">PM</option> -</select> - - - - html_table (Ausgabe von HTML-TABLE Tag) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standartwert - Beschreibung - - - - - loop - array - Ja - n/a - Array mit den Daten für den Loop - - - cols - integer - Nein - 3 - Anzahl Spalten in einer Tabelle - - - table_attr - string - No - border="1" - Attribute für das Table-Tag - - - tr_attr - string - No - empty - Attribute für das tr-Tag (Arrays werden durchlaufen) - - - td_attr - string - No - empty - Attribute für das tr-Tag (Arrays werden durchlaufen) - - - trailpad - string - No - &nbsp; - Wert für leere Zellen - - - - hdir - string - No - right - Richtung in der die Zeilen gerendered werden. Mögliche Werte: left/right - - - vdir - string - No - down - Richtung in der die Spalten gerendered werden. Mögliche Werte: up/down - - - - - - html_table ist eine eigene Funktion die einen Array als - Tabelle ausgibt. Das cols Attribut definiert die Menge - von Spalten die ausgegeben werden sollen. table_attr, tr_attr - und td_attr definieren die Attribute für die HTML Tags. Wenn tr_attr - oder td_attr Arrays sind, werden diese durchlaufen. trailpad - wird in leere Zellen eingefügt. - - -html_table - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); -$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); -$smarty->display('index.tpl'); - -index.tpl: - -{html_table loop=$data} -{html_table loop=$data cols=4 table_attr='border="0"'} -{html_table loop=$data cols=4 tr_attr=$tr} - -AUSGABE: - -<table border="1"> -<tr><td>1</td><td>2</td><td>3</td></tr> -<tr><td>4</td><td>5</td><td>6</td></tr> -<tr><td>7</td><td>8</td><td>9</td></tr> -</table> -<table border="0"> -<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> -<table border="1"> -<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> - - - - math (Mathematik) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - equation - string - Ja - n/a - Der auszuführende Vergleich. - - - format - string - Nein - n/a - Format der Ausgabe. (sprintf) - - - var - numeric - Ja - n/a - Wert der Vergleichsvariable. - - - assign - string - Nein - n/a - Template-Variable welcher die Ausgabe zugewiesen werden soll. - - - [var ...] - numeric - Yes - n/a - Zusätzliche Werte. - - - - - - 'math' ermöglicht es dem Designer, mathematische Gleichungen - durchzuführen. Alle numerischen Template-Variablen - können dazu verwendet werden und die Ausgabe wird an - die Stelle des Tags geschrieben. Die Variablen werden - der Funktion als Parameter übergeben, dabei kann es sich - um statische oder um Template-Variablen handeln. Erlaubte Operatoren - umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, - min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie - die PHP-Dokumentation für zusätzliche Informationen zu dieser - Funktion. - - - Falls Sie die spezielle 'assign' Variable übergeben, wird die - Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben - Namen zugewiesen anstatt ausgegeben zu werden. - - - Technische Bemerkung - - Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion - äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript - zu verwenden ist wesentlich performanter. Sie sollten daher - - wann immer möglich - auf die Verwendung verzichten. Stellen - Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections' - oder anderen 'loop'-Konstrukten verwenden. - - - -math (Mathematik) - -{* $height=4, $width=5 *} - -{math equation="x + y" x=$height y=$width} - -AUSGABE: - -9 - - -{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *} - -{math equation="height * width / division" - height=$row_height - width=$row_width - division=#col_div#} - -AUSGABE: - -100 - - - -{* Sie können auch Klammern verwenden *} - -{math equation="(( x + y ) / z )" x=2 y=10 z=2} - -AUSGABE: - -6 - - - -{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *} - -{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} - -AUSGABE: - -9.44 - - - - popup_init (Popup Initialisieren) - - 'popup' ist eine Integration von 'overLib', einer Javascript - Library für 'popup'-Fenster. Dies kann verwendet werden um - Zusatzinformationen als Context-Menu oder Tooltip auszugeben. - 'popup_init' muss am Anfang jedes Templates aufgerufen werden, - falls Sie planen darin die popup-Funktion - zu verwenden. Der Author von 'overLib' ist Erik Bosrup, und die - Homepage ist unter http://www.bosrup.com/web/overlib/ erreichbar. - - - Seit Smarty 2.1.2 wird 'overLib' NICHT mehr mitgeliefert. Laden - Sie 'overLib' herunter und platzieren Sie es in Ihrer Document Root. - Danach können Sie mit dem Attribut 'src' definieren an welcher - Stelle die Datei liegt. - - -popup_init - - -{* 'popup_init' muss einmalig am Anfang der Seite aufgerufen werden *} -{popup_init src="/javascripts/overlib.js"} - - - - popup (Popup-Inhalt definieren) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - text - string - Ja - n/a - Text/HTML der im Popup ausgegeben werden soll. - - - trigger - string - Nein - onMouseOver - Definiert bei welchem Event das Popup aufgerufen werden soll. Erlaubte Werte sind: onMouseOver und onClick - - - sticky - boolean - Nein - false - Definiert ob das Popup geöffnet bleiben soll bis es manuell geschlossen wird. - - - caption - string - Nein - n/a - Definiert die Überschrift. - - - fgcolor - string - Nein - n/a - Hintergrundfarbe des Popups. - - - bgcolor - string - Nein - n/a - Rahmenfarbe des Popups. - - - textcolor - string - Nein - n/a - Farbe des Textes im Popup. - - - capcolor - string - Nein - n/a - Farbe der Popup-Überschrift. - - - closecolor - string - Nein - n/a - Die Farbe des 'close'-Textes. - - - textfont - string - Nein - n/a - Die Farbe des Textes. - - - captionfont - string - Nein - n/a - Die Schriftart für die Überschrift. - - - closefont - string - Nein - n/a - Die Schriftart für den 'close'-Text. - - - textsize - string - Nein - n/a - Die Schriftgrösse des Textes. - - - captionsize - string - Nein - n/a - Die Schriftgrösse der Überschrift. - - - closesize - string - Nein - n/a - Die Schriftgrösse des 'close'-Textes. - - - width - integer - Nein - n/a - Die Breite der Popup-Box. - - - height - integer - Nein - n/a - Die Höhe der Popup-Box. - - - left - boolean - Nein - false - Öffnet die Popup-Box links von Mauszeiger. - - - right - boolean - Nein - false - Öffnet die Popup-Box rechts von Mauszeiger. - - - center - boolean - Nein - false - Öffnet die Popup-Box in der Mitte des Mauszeigers. - - - above - boolean - Nein - false - Öffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur möglich wenn 'height' definiert ist. - - - below - boolean - Nein - false - Öffnet die Popup-Box unterhalb des Mauszeigers. - - - border - integer - Nein - n/a - Die Rahmenbreite der Popup-Box. - - - offsetx - integer - Nein - n/a - Horizontale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt. - - - offsety - integer - Nein - n/a - Vertikale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt. - - - fgbackground - url to image - Nein - n/a - Das Hintergundbild. - - - bgbackground - url to image - Nein - n/a - - Definiert das Bild welches verwendet werden soll um den Rahmen zu zeichnen. - Achtung: Sie müssen 'bgcolor' auf '' setzen, da die Farbe sonst angezeigt wird. - Achtung: Wenn sie einen 'close'-Link verwenden, wird Netscape (4.x) die Zellen - mehrfach rendern, was zu einer falschen Anzeige führen kann. - - - - closetext - string - Nein - n/a - Definiert den Text des 'close'-Links. - - - noclose - boolean - Nein - n/a - Zeigt den 'close'-Link nicht an. - - - status - string - Nein - n/a - Definiert den Text der in der Browser-Statuszeile ausgegeben wird. - - - autostatus - boolean - Nein - n/a - Gibt als Statusinformationen den Popup-Text aus. Achtung: Dies überschreibt die definierten Statuswerte. - - - autostatuscap - string - Nein - n/a - Zeigt in der Statusleiste den Wert der Popup-Überschrift an. Achtung: Dies überschreibt die definierten Statuswerte. - - - inarray - integer - Nein - n/a - - Weist 'overLib' an, den Wert aus dem in 'overlib.js' definierten Array 'ol_text' zu lesen. - - - caparray - integer - Nein - n/a - Weist 'overLib' an, die Überschrift aus dem in 'overlib.js' definierten Array 'ol_caps' zu lesen. - - - capicon - url - Nein - n/a - Zeigt das übergebene Bild vor der Überschrift an. - - - snapx - integer - Nein - n/a - Aliniert das Popup an einem horizontalen Gitter. - - - snapy - integer - Nein - n/a - Aliniert das Popup an einem vertikalen Gitter. - - - fixx - integer - Nein - n/a - Fixiert das Popup an der definierten horizontalen Position. Achtung: überschreibt alle anderen horizontalen Positionen. - - - fixy - integer - Nein - n/a - Fixiert das Popup an der definierten vertikalen Position. Achtung: überschreibt alle anderen vertikalen Positionen. - - - background - url - Nein - n/a - Definiert das Hintergrundbild welches anstelle des Tabellenhintergrundes verwendet werden soll. - - - padx - integer,integer - Nein - n/a - Erzeugt horizontale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion. - - - pady - integer,integer - Nein - n/a - Erzeugt vertikale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion. - - - fullhtml - boolean - Nein - n/a - Lässt Sie den HTML-Code betreffend einem Hintergrundbild komplett kontrollieren. - - - frame - string - Nein - n/a - Kontrolliert Popups in einem anderen Frame. Sehen sie die 'overLib'-Seite für zusätzliche Informationen zu dieser Funktion. - - - timeout - string - Nein - n/a - Führt die übergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text für das Popup. - - - delay - integer - Nein - n/a - Macht, dass sich das Popup wie ein Tooltip verhält, und nach den definierten Millisekunden verschwindet. - - - hauto - boolean - Nein - n/a - Lässt 'overLib' automatisch definieren an welcher Seite (links/rechts) des Mauszeigers das Popup ausgegeben werden soll. - - - vauto - boolean - Nein - n/a - Lässt 'overLib' automatisch definieren an welcher Seite (oben/unten) des Mauszeigers das Popup ausgegeben werden soll. - - - - - - 'popup' wird verwendet um Javascript-Popup-Fenster zu erzeugen. - - -popup - - -{* 'popup_init' muss am Anfang jeder Seite aufgerufen werden die 'popup' verwendet *} -{popup_init src="/javascripts/overlib.js"} - -{* create a link with a popup window when you move your mouse over *} -{* ein link mit einem Popup welches geöffnet wird wenn die Maus über dem Link ist. *} -<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> - - -{* Sie können in einem Popup text, html, links und weiteres verwenden *} -<A href="mypage.html" {popup sticky=true caption="mypage contents" -text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> - -AUSGABE: - - -(Für Beispiele können Sie sich die Smarty Homepage anschauen.) - - - - textformat (Textformatierung) - - - - - - - - - - Attribut Name - Typ - Erforderlich - Standardwert - Beschreibung - - - - - style - string - Nein - n/a - aktueller Stil - - - indent - number - Nein - 0 - Anzahl Zeichen die für das einrücken von Zeilen verwendet werden. - - - indent_first - number - Nein - 0 - Anzahl Zeichen die für das Einrücken der ersten Zeile verwendet werden. - - - indent_char - string - Nein - (single space) - Das Zeichen welches zum Einrücken verwendet werden soll. - - - wrap - number - Nein - 80 - Maximale Zeilenlänge bevor die Zeile umgebrochen wird. - - - wrap_char - string - Nein - \n - Das für Zeilenumbrüche zu verwendende Zeichen. - - - wrap_cut - boolean - Nein - false - Wenn auf 'true' gesetzt, wird die Zeile an der definierten Position abgeschnitten. - - - assign - string - Nein - n/a - Die Template-Variable welcher die Ausgabe zugewiesen werden soll. - - - - - - 'textformat' ist eine Funktion um Text zu formatieren. Die Funktion - entfernt überflüssige Leerzeichen und formatiert Paragrafen - indem sie die Zeilen einrückt und umbricht. - - - Sie können entweder den aktuellen Stil verwenden, oder ihn anhand - der Parameter selber definieren. Im Moment ist 'email' der einzig verfügbare Stil. - - -textformat (Text Formatierung) - -{textformat wrap=40} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -AUSGABE: - -This is foo. This is foo. This is foo. -This is foo. This is foo. This is foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo -foo. bar foo bar foo foo. bar foo bar -foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. - - -{textformat wrap=40 indent=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -AUSGABE: - - This is foo. This is foo. This is - foo. This is foo. This is foo. This - is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - bar foo bar foo foo. bar foo bar - foo foo. - -{textformat wrap=40 indent=4 indent_first=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -AUSGABE: - - This is foo. This is foo. This - is foo. This is foo. This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar - foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. - -{textformat style="email"} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -AUSGABE: - -This is foo. This is foo. This is foo. This is foo. This is foo. This is -foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo -foo. - - - - +&designers.language-custom-functions.language-function-assign; +&designers.language-custom-functions.language-function-counter; +&designers.language-custom-functions.language-function-cycle; +&designers.language-custom-functions.language-function-debug; +&designers.language-custom-functions.language-function-eval; +&designers.language-custom-functions.language-function-fetch; +&designers.language-custom-functions.language-function-html-checkboxes; +&designers.language-custom-functions.language-function-html-image; +&designers.language-custom-functions.language-function-html-options; +&designers.language-custom-functions.language-function-html-radios; + +&designers.language-custom-functions.language-function-html-select-date; +&designers.language-custom-functions.language-function-html-select-time; +&designers.language-custom-functions.language-function-html-table; +&designers.language-custom-functions.language-function-math; +&designers.language-custom-functions.language-function-popup-init; +&designers.language-custom-functions.language-function-popup; +&designers.language-custom-functions.language-function-textformat; + + assign (zuweisen) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + var + string + Ja + n/a + Der Name der zuzuweisenden Variable. + + + value + string + Ja + n/a + Der zuzuweisende Wert. + + + + + + 'assign' wird verwendet um einer Template-Variable einen Wert zuzuweisen. + + +assign (zuweisen) + +{assign var="name" value="Bob"} + +Der Wert von $name ist {$name}. + +AUSGABE: + +Der Wert von $name ist Bob. + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-counter.xml b/docs/de/designers/language-custom-functions/language-function-counter.xml new file mode 100644 index 00000000..8c040002 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-counter.xml @@ -0,0 +1,118 @@ + + + + counter (Zähler) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Nein + default + Der Name des Zählers. + + + start + number + Nein + 1 + Der Initialwert. + + + skip + number + Nein + 1 + Der Interval. + + + direction + string + Nein + up + Die Richtung (up/down). + + + print + boolean + Nein + true + Definiert ob der Wert ausgegeben werden soll. + + + assign + string + Nein + n/a + Die Template-Variable welcher der Wert zugewiesen werden soll. + + + + + + 'counter' wird verwendet um eine Zahlenreihe auszugeben. Sie können + den Initialwert bestimmen, den Zählinterval, die Richtung in der + gezählt werden soll und ob der Wert ausgegeben wird. Sie können + mehrere Zähler gleichzeitig laufen lassen, in dem Sie ihnen einmalige + Namen geben. Wenn Sie keinen Wert für 'name' übergeben, wird 'default' + verwendet. + + + Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Zählers + dieser Template-Variable zugewiesen anstatt ausgegeben zu werden. + + +counter (Zähler) + + +{* initialisieren *} +{counter start=0 skip=2 print=false} + +{counter}<br> +{counter}<br> +{counter}<br> +{counter}<br> + +AUSGABE: + +2<br> +4<br> +6<br> +8<br> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-cycle.xml b/docs/de/designers/language-custom-functions/language-function-cycle.xml new file mode 100644 index 00000000..db683d12 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-cycle.xml @@ -0,0 +1,130 @@ + + + + cycle (Zyklus) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Nein + default + Der Name des Zyklus. + + + values + mixed + Ja + N/A + + Die Werte durch die zirkuliert werden soll, entweder als + Komma separierte Liste (siehe 'delimiter'-Attribut), oder + als Array. + + + + print + boolean + Nein + true + Definiert ob die Werte ausgegeben werden sollen oder nicht. + + + advance + boolean + Nein + true + Definiert ob der nächste Wert automatisch angesprungen werden soll. + + + delimiter + string + Nein + , + Das zu verwendende Trennzeichen. + + + assign + string + Nein + n/a + Der Name der Template-Variable welcher die Ausgabe zugewiesen werden soll. + + + + + + 'cycle' wird verwendet um durch ein Set von Werten zu zirkulieren. + Dies vereinfacht die Handhabung von zwei oder mehr Farben in einer + Tabelle, oder um einen Array zu durchlaufen. + + + Sie können durch mehrere Sets gleichzeitig iterieren, indem + Sie den Sets einmalige Namen geben. + + + Um den aktuellen Wert nicht auszugeben, kann das 'print' Attribut auf + 'false' gesetzt werden. Dies könnte sinnvoll sein, wenn man einen + einzelnen Wert überspringen möchte. + + + Das 'advance'-Attribut wird verwendet um einen Wert zu wiederholen. + Wenn auf 'false' gesetzt, wird bei der nächsten Iteration der selbe + Wert erneut ausgegeben. + + + Wenn sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe + der 'cycle'-Funktion in dieser Template-Variable abgelegt, anstatt ausgegeben zu werden. + + +cycle (Zyklus) + + +{* initialisieren *} +{cycle values="#eeeeee,#d0d0d0"} +{cycle} +{cycle} + + +AUSGABE: + +#eeeeee +#d0d0d0 +#eeeeee + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-debug.xml b/docs/de/designers/language-custom-functions/language-function-debug.xml new file mode 100644 index 00000000..459cc1ff --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-debug.xml @@ -0,0 +1,57 @@ + + + + debug + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + output + string + Nein + html + Ausgabe-Typ, entweder HTML oder Javascript. + + + + + + {debug} zeigt die 'debugging'-Konsole auf der Seite an. $debug + hat darauf keinen Einfluss. Da die Ausgabe zur Laufzeit geschieht, können die Template-Namen hier + nicht ausgegeben werden. Sie erhalten jedoch eine Liste aller zugewiesenen Variablen und deren Werten. + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-eval.xml b/docs/de/designers/language-custom-functions/language-function-eval.xml new file mode 100644 index 00000000..3c613a88 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-eval.xml @@ -0,0 +1,117 @@ + + + + eval (auswerten) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + var + mixed + Ja + n/a + Variable oder Zeichenkette die ausgewertet werden soll. + + + assign + string + Nein + n/a + Die Template-Variable welcher die Ausgabe zugewiesen werden soll. + + + + + + 'eval' wird verwendet um eine Variable als Template auszuwerten. Dies kann + verwendet werden um Template-Tags/Variablen in einer Variable oder + einer Konfigurationsdatei abzulegen. + + + Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe + von 'eval' in dieser Template-Variable gespeichert und nicht ausgegeben. + + + Technische Bemerkung + + Evaluierte Variablen werden gleich wie Template-Variablen verwendet + und folgen den selben Maskierungs- und Sicherheits-Features. + + + + Technische Bemerkung + + Evaluierte Variablen werden bei jedem Aufruf neu ausgewertet. Die kompilierten + Versionen werden dabei nicht abgelegt! Falls sie caching eingeschaltet haben, wird + die Ausgabe jedoch mit dem Rest des Templates gecached. + + + +eval (auswerten) + +setup.conf +---------- + +emphstart = <b> +emphend = </b> +title = Willkommen auf {$company}'s home page! +ErrorCity = Bitte geben Sie einen {#emphstart#}Stadtnamen{#emphend#} ein. +ErrorState = Bitte geben Sie einen {#emphstart#}Provinznamen{#emphend#} ein. + + +index.tpl +--------- + +{config_load file="setup.conf"} + +{eval var=$foo} +{eval var=#title#} +{eval var=#ErrorCity#} +{eval var=#ErrorState# assign="state_error"} +{$state_error} + +AUSGABE: + +Dies ist der Inhalt von foo: + +Willkommen auf Pub & Grill's home page! +Bitte geben Sie einen <b>Stadtnamen</b> ein. +Bitte geben Sie einen <b>Provinznamen</b> ein. + + + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-fetch.xml b/docs/de/designers/language-custom-functions/language-function-fetch.xml new file mode 100644 index 00000000..5f101b8d --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-fetch.xml @@ -0,0 +1,108 @@ + + + + fetch + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + file + string + Ja + n/a + Die Datei, FTP oder HTTP Seite die geliefert werden soll. + + + assign + string + Nein + n/a + Die Template-Variable welcher die Ausgabe zugewiesen werden soll. + + + + + + 'fetch' wird verwendet um lokale oder via HTTP beziehungsweise FTP verfügbare Inhalte + auszugeben. Wenn der Dateiname mit 'http://' anfängt, wird die angegebene + Webseite geladen und angezeigt. Wenn der Dateiname mit 'ftp://' anfängt + wird die Datei vom FTP-Server geladen und angezeigt. Für lokale Dateien + muss der absolute Pfad, oder ein Pfad relativ zum ausgeführten Skript übergeben werden. + + + Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe + der 'fetch'-Funktion dieser Template-Variable zugewiesen, anstatt ausgegeben + zu werden (seit Smarty 1.5.0). + + + Technische Bemerkung + + HTTP-Redirects werden nicht unterstützt, stellen Sie sicher, + dass die aufgerufene URL falls nötig durch ein '/'-Zeichen (slash) beendet wird. + + + + Technische Bemerkung + + Wenn Sicherheit eingeschaltet ist, und Dateien vom lokalen System + geladen werden sollen, ist dies nur für Dateien erlaubt welche + sich in einem definierten sicheren Verzeichnis befinden. ($secure_dir) + + + +fetch + + +{* einbinden von javascript *} +{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} + + +{* Wetter Informationen aus einer anderen Webseite bei uns anzeigen *} +{fetch file="http://www.myweather.com/68502/"} + + +{* News Datei via FTP auslesen *} +{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} + + +{* die Ausgabe einer Template variable zuweisen *} +{fetch file="http://www.myweather.com/68502/" assign="weather"} +{if $weather ne ""} + <b>{$weather}</b> +{/if} + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml new file mode 100644 index 00000000..881c5f4e --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml @@ -0,0 +1,144 @@ + + + + html_checkboxes (Ausgabe von HTML-CHECKBOX Tag) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Nein + checkbox + Name der checkbox Liste + + + values + array + ja, ausser wenn das option Attribut verwendet wird + n/a + ein Array mit Werten für die checkboxes + + + output + array + ja, ausser wenn das option Attribut verwendet wird + n/a + ein Array mit Werten für checkbox Knöpfe + + + selected + string/array + No + empty + das/die ausgewählten checkbox Elemente + + + options + assoziatives array + Ja, ausser values/output wird verwendet + n/a + ein assoziatives Array mit Werten und Ausgaben + + + separator + string + No + empty + Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll + + + labels + boolean + No + true + fügt der Ausgabe <label>-Tags hinzu + + + + + + html_checkboxes ist eine Funktion die aus den übergebenen Daten html checkbox + Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind. + Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel + + + Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben. + + +html_checkboxes + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_checkboxes', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} + + +AUSGABE: (beider Beispiele) + +<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br /> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-image.xml b/docs/de/designers/language-custom-functions/language-function-html-image.xml new file mode 100644 index 00000000..55035c25 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-image.xml @@ -0,0 +1,140 @@ + + + + html_image (Ausgabe von HTML-IMG Tag) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + file + string + Ja + n/a + Name/Pfad zum Bild + + + border + string + Nein + 0 + Stärke des Rahmens + + + height + string + No + Normale Höhe des Bildes + Höhe des Bildes + + + width + string + No + Normale Breite des Bildes + Breite des Bildes + + + basedir + string + no + DOCUMENTROOT + Basisverzeichnis für relative Pfadangaben + + + alt + string + no + "" + Alternative Beschreibung des Bildes + + + href + string + no + n/a + Link für das Bild + + + + + + html_image ist eine eigene Funktion die ein HTML Tag für ein Bild erzeugt. + Die Höhe und Breite der Ausgabe wird automatisch aus der Bilddatei berechnet + wenn die Werte nicht übergeben werden. + + + basedir ist der Basispfad der für die Verlinkung verwendet werden soll. Wenn kein + Wert übergeben wird, wird die Umgebungsvariable DOCUMENT_ROOT verwendet. Wenn Sicherheit + eingeschaltet ist, muss das Bild in einem sicheren Verzeichnis liegen. + + + href ist das href Attribut für das Image-Tag. Wenn dieser Wert übergeben wird, + wird um das Bild ein <a href="LINKVALUE"><a> Tag erzeugt. + + + Technische Bemerkung + + html_image greift auf das Dateisystem zu um Höhe und Breite zu errechnen. Wenn Sie + caching nicht verwenden sollten Sie normalerweise auf diese Funktion aus performance Gründen verzichten. + + + +html_image + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->display('index.tpl'); + +index.tpl: + +{html_image file="pumpkin.jpg"} +{html_image file="/path/from/docroot/pumpkin.jpg"} +{html_image file="../path/relative/to/currdir/pumpkin.jpg"} + +AUSGABE: (möglich) + +<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /> +<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" /> +<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" /> + + + + + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-options.xml b/docs/de/designers/language-custom-functions/language-function-html-options.xml new file mode 100644 index 00000000..1c3f8359 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-options.xml @@ -0,0 +1,109 @@ + + + + html_options (Ausgabe von HTML-Options) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + values + array + Ja, ausser 'options'-Attribut wird verwendet. + n/a + Array mit Werten für die dropdown-Liste. + + + output + array + Ja, ausser 'options'-Attribut wird verwendet. + n/a + Arrays mit Namen für die dropdown-Liste. + + + selected + string + Nein + empty + Das ausgewählte Array Element. + + + options + associative array + Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden. + n/a + Assoziatives Array mit Werten die ausgegeben werden sollen. + + + + + + 'html_options' wird verwendet um HTML-Options Listen mit den übergebenen Daten + zu erzeugen. Die Funktion kümmert sich ebenfalls um das setzen des ausgewählten + Standardwertes. Die Attribute 'values' und 'output' sind erforderlich, + ausser man verwendet das Attribut 'options'. Wenn ein Wert als Array erkannt wird, + wird er als HTML-OPTGROUP ausgegeben und die Werte werden in Gruppen dargestellt. + Rekursion wird unterstützt. Die Ausgabe ist XHTML kompatibel. + + +html_options + +{* nehmen Sie an, dass $cust_ids und $cust_names Arrays mit Werten sind, + während $customer_id auch leer sein kann *} + +<select name=customer_id> + {html_options values=$cust_ids selected=$customer_id output=$cust_names} +</select> + + +{* alternativ können die Werte aus 'values' und 'output' als assoziative Arrays + an 'options' übergeben werden. $customer_options ist in diesem Beispiel ein assoziatives Array *} + +<select name=customer_id> + {html_options options=$customer_options selected=$customer_id} +</select> + + +AUSGABE: + +<select name=customer_id> + <option value="1000">Joe Schmoe</option> + <option value="1001" selected="selected">Jack Smith</option> + <option value="1002">Jane Johnson</option> + <option value="1003">Charlie Brown</option> +</select> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-radios.xml b/docs/de/designers/language-custom-functions/language-function-html-radios.xml new file mode 100644 index 00000000..23fe2671 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-radios.xml @@ -0,0 +1,136 @@ + + + + html_radios (Ausgabe von HTML-RADIO Tags) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + name + string + Nein + radio + Name der Radio Liste + + + values + array + Ja, ausser 'options'-Attribut wird verwendet. + n/a + Array mit Werten für die dropdown-Liste. + + + output + array + Ja, ausser 'options'-Attribut wird verwendet. + n/a + Arrays mit Namen für die dropdown-Liste. + + + selected + string + Nein + empty + Das ausgewählte Array Element. + + + options + associative array + Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden. + n/a + Assoziatives Array mit Werten die ausgegeben werden sollen. + + + separator + string + No + empty + Die Zeichenkette die zwischen 2 Radioelemente eingefügt werden soll. + + + + + + html_radio ist eine Funktion die aus den übergebenen Daten html radio + Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind. + Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel + + +html_radios + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_radios', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} + + +AUSGABE: (beider Beispiele) + +<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> +<input type="radio" name="id[]" value="1001" checked="checked"><br /> +<input type="radio" name="id[]" value="1002">Jane Johnson<br /> +<input type="radio" name="id[]" value="1003">Charlie Brown<br /> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-select-date.xml b/docs/de/designers/language-custom-functions/language-function-html-select-date.xml new file mode 100644 index 00000000..c519b393 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-select-date.xml @@ -0,0 +1,300 @@ + + + + html_select_date (Ausgabe von Daten als HTML-'options') + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + prefix + string + Nein + Date_ + Prefix für die Namen. + + + time + timestamp/YYYY-MM-DD + Nein + Aktuelle Zeit als Unix-Timestamp, oder in YYYY-MM-DD format. + Das zu verwendende Datum. + + + start_year + string + Nein + aktuelles Jahr + Das erste Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N). + + + end_year + string + Nein + Gegenteil von start_year + Das letzte Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N). + + + display_days + boolean + Nein + true + Definiert ob Tage ausgegeben sollen oder nicht. + + + display_months + boolean + Nein + true + Definiert ob Monate ausgegeben werden sollen oder nicht. + + + display_years + boolean + Nein + true + Definiert ob Jahre ausgegeben werden sollen oder nicht. + + + month_format + string + Nein + %B + Format in welchem der Monat ausgegeben werden soll. (strftime) + + + day_format + string + Nein + %02d + Definiert das Format in welchem der Tag ausgegeben werden soll. (sprintf) + + + year_as_text + boolean + Nein + false + Definiert ob das Jahr als Text ausgegeben werden soll oder nicht. + + + reverse_years + boolean + Nein + false + Definiert ob die Daten in verkehrter Reihenfolge ausgegeben werden sollen. + + + field_array + string + Nein + null + + Wenn ein Namen übergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zurückgegeben. + + + + day_size + string + Nein + null + Fügt dem 'select'-Tag das Attribut 'size' hinzu. + + + month_size + string + Nein + null + Fügt dem 'select'-Tag das Attribut 'size' hinzu. + + + year_size + string + Nein + null + Fügt dem 'select'-Tag das Attribut 'size' hinzu. + + + all_extra + string + Nein + null + Fügt allen 'select'-Tags zusätzliche Attribute hinzu. + + + day_extra + string + Nein + null + Fügt 'select'-Tags zusätzliche Attribute hinzu. + + + month_extra + string + Nein + null + Fügt 'select'-Tags zusätzliche Attribute hinzu. + + + year_extra + string + Nein + null + Fügt 'select'-Tags zusätzliche Attribute hinzu. + + + field_order + string + Nein + MDY + Die Reihenfolge in der die Felder ausgegeben werden. + + + field_separator + string + Nein + \n + Zeichenkette die zwischen den Feldern ausgegeben werden soll. + + + month_value_format + string + Nein + %m + Format zur Ausgabe der Monats-Werte, Standardwert ist %m. (strftime) + + + + + + 'html_select_date' wird verwendet um Datums-Dropdown-Listen zu erzeugen, + und kann einen oder alle der folgenden Werte darstellen: Jahr, Monat und Tag + + +html_select_date + +{html_select_date} + + +AUSGABE: + +<select name="Date_Month"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="Date_Day"> +<option value="1">01</option> +<option value="2">02</option> +<option value="3">03</option> +<option value="4">04</option> +<option value="5">05</option> +<option value="6">06</option> +<option value="7">07</option> +<option value="8">08</option> +<option value="9">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13" selected>13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select> +<select name="Date_Year"> +<option value="2001" selected>2001</option> +</select> + + + + +html_select_date + + + +{* Start- und End-Jahr können relativ zum aktuellen Jahr definiert werden. *} +{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} + +AUSGABE: (aktuelles Jahr ist 2000) + +<select name="StartDateMonth"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="StartDateYear"> +<option value="1999">1995</option> +<option value="1999">1996</option> +<option value="1999">1997</option> +<option value="1999">1998</option> +<option value="1999">1999</option> +<option value="2000" selected>2000</option> +<option value="2001">2001</option> +</select> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-select-time.xml b/docs/de/designers/language-custom-functions/language-function-html-select-time.xml new file mode 100644 index 00000000..d678647f --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-select-time.xml @@ -0,0 +1,317 @@ + + + + html_select_time (Ausgabe von Zeiten als HTML-'options') + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + prefix + string + Nein + Time_ + Prefix des Namens. + + + time + timestamp + Nein + Aktuelle Uhrzeit. + Definiert die zu verwendende Uhrzeit. + + + display_hours + boolean + Nein + true + Definiert ob Stunden ausgegeben werden sollen. + + + display_minutes + boolean + Nein + true + Definiert ob Minuten ausgegeben werden sollen. + + + display_seconds + boolean + Nein + true + Definiert ob Sekunden ausgegeben werden sollen. + + + display_meridian + boolean + Nein + true + Definiert ob der Meridian (am/pm) ausgegeben werden soll. + + + use_24_hours + boolean + Nein + true + Definiert ob die Stunden in 24-Stunden Format angezeigt werden sollen oder nicht. + + + minute_interval + integer + Nein + 1 + Definiert den Interval in der Minuten-Dropdown-Liste. + + + second_interval + integer + Nein + 1 + Definiert den Interval in der Sekunden-Dropdown-Liste. + + + field_array + string + Nein + n/a + Gibt die Daten in einen Array dieses Namens aus. + + + all_extra + string + Nein + null + Fügt allen 'select'-Tags zusätzliche Attribute hinzu. + + + hour_extra + string + Nein + null + Fügt dem Stunden-'select'-Tag zusätzliche Attribute hinzu. + + + minute_extra + string + Nein + null + Fügt dem Minuten-'select'-Tag zusätzliche Attribute hinzu. + + + second_extra + string + Nein + null + Fügt dem Sekunden-'select'-Tag zusätzliche Attribute hinzu. + + + meridian_extra + string + No + null + Fügt dem Meridian-'select'-Tag zusätzliche Attribute hinzu. + + + + + + 'html_select_time' wird verwendet um Zeit-Dropdown-Listen zu erzeugen. + Die Funktion kann alle oder eines der folgenden Felder ausgeben: Stunde, Minute, Sekunde und Meridian. + + +html_select_time + +{html_select_time use_24_hours=true} + + +AUSGABE: + +<select name="Time_Hour"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09" selected>09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +</select> +<select name="Time_Minute"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20" selected>20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Second"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23" selected>23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Meridian"> +<option value="am" selected>AM</option> +<option value="pm">PM</option> +</select> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-html-table.xml b/docs/de/designers/language-custom-functions/language-function-html-table.xml new file mode 100644 index 00000000..0b892edf --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-html-table.xml @@ -0,0 +1,145 @@ + + + + html_table (Ausgabe von HTML-TABLE Tag) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standartwert + Beschreibung + + + + + loop + array + Ja + n/a + Array mit den Daten für den Loop + + + cols + integer + Nein + 3 + Anzahl Spalten in einer Tabelle + + + table_attr + string + No + border="1" + Attribute für das Table-Tag + + + tr_attr + string + No + empty + Attribute für das tr-Tag (Arrays werden durchlaufen) + + + td_attr + string + No + empty + Attribute für das tr-Tag (Arrays werden durchlaufen) + + + trailpad + string + No + &nbsp; + Wert für leere Zellen + + + + hdir + string + No + right + Richtung in der die Zeilen gerendered werden. Mögliche Werte: left/right + + + vdir + string + No + down + Richtung in der die Spalten gerendered werden. Mögliche Werte: up/down + + + + + + html_table ist eine eigene Funktion die einen Array als + Tabelle ausgibt. Das cols Attribut definiert die Menge + von Spalten die ausgegeben werden sollen. table_attr, tr_attr + und td_attr definieren die Attribute für die HTML Tags. Wenn tr_attr + oder td_attr Arrays sind, werden diese durchlaufen. trailpad + wird in leere Zellen eingefügt. + + +html_table + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); +$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); +$smarty->display('index.tpl'); + +index.tpl: + +{html_table loop=$data} +{html_table loop=$data cols=4 table_attr='border="0"'} +{html_table loop=$data cols=4 tr_attr=$tr} + +AUSGABE: + +<table border="1"> +<tr><td>1</td><td>2</td><td>3</td></tr> +<tr><td>4</td><td>5</td><td>6</td></tr> +<tr><td>7</td><td>8</td><td>9</td></tr> +</table> +<table border="0"> +<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> +<table border="1"> +<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-math.xml b/docs/de/designers/language-custom-functions/language-function-math.xml new file mode 100644 index 00000000..69538155 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-math.xml @@ -0,0 +1,151 @@ + + + + math (Mathematik) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + equation + string + Ja + n/a + Der auszuführende Vergleich. + + + format + string + Nein + n/a + Format der Ausgabe. (sprintf) + + + var + numeric + Ja + n/a + Wert der Vergleichsvariable. + + + assign + string + Nein + n/a + Template-Variable welcher die Ausgabe zugewiesen werden soll. + + + [var ...] + numeric + Yes + n/a + Zusätzliche Werte. + + + + + + 'math' ermöglicht es dem Designer, mathematische Gleichungen + durchzuführen. Alle numerischen Template-Variablen + können dazu verwendet werden und die Ausgabe wird an + die Stelle des Tags geschrieben. Die Variablen werden + der Funktion als Parameter übergeben, dabei kann es sich + um statische oder um Template-Variablen handeln. Erlaubte Operatoren + umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, + min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie + die PHP-Dokumentation für zusätzliche Informationen zu dieser + Funktion. + + + Falls Sie die spezielle 'assign' Variable übergeben, wird die + Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben + Namen zugewiesen anstatt ausgegeben zu werden. + + + Technische Bemerkung + + Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion + äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript + zu verwenden ist wesentlich performanter. Sie sollten daher + - wann immer möglich - auf die Verwendung verzichten. Stellen + Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections' + oder anderen 'loop'-Konstrukten verwenden. + + + +math (Mathematik) + +{* $height=4, $width=5 *} + +{math equation="x + y" x=$height y=$width} + +AUSGABE: + +9 + + +{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *} + +{math equation="height * width / division" + height=$row_height + width=$row_width + division=#col_div#} + +AUSGABE: + +100 + + + +{* Sie können auch Klammern verwenden *} + +{math equation="(( x + y ) / z )" x=2 y=10 z=2} + +AUSGABE: + +6 + + + +{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *} + +{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} + +AUSGABE: + +9.44 + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-popup-init.xml b/docs/de/designers/language-custom-functions/language-function-popup-init.xml new file mode 100644 index 00000000..31941ca0 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-popup-init.xml @@ -0,0 +1,47 @@ + + + + popup_init (Popup Initialisieren) + + 'popup' ist eine Integration von 'overLib', einer Javascript + Library für 'popup'-Fenster. Dies kann verwendet werden um + Zusatzinformationen als Context-Menu oder Tooltip auszugeben. + 'popup_init' muss am Anfang jedes Templates aufgerufen werden, + falls Sie planen darin die popup-Funktion + zu verwenden. Der Author von 'overLib' ist Erik Bosrup, und die + Homepage ist unter http://www.bosrup.com/web/overlib/ erreichbar. + + + Seit Smarty 2.1.2 wird 'overLib' NICHT mehr mitgeliefert. Laden + Sie 'overLib' herunter und platzieren Sie es in Ihrer Document Root. + Danach können Sie mit dem Attribut 'src' definieren an welcher + Stelle die Datei liegt. + + +popup_init + + +{* 'popup_init' muss einmalig am Anfang der Seite aufgerufen werden *} +{popup_init src="/javascripts/overlib.js"} + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-popup.xml b/docs/de/designers/language-custom-functions/language-function-popup.xml new file mode 100644 index 00000000..27de472c --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-popup.xml @@ -0,0 +1,411 @@ + + + + popup (Popup-Inhalt definieren) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + text + string + Ja + n/a + Text/HTML der im Popup ausgegeben werden soll. + + + trigger + string + Nein + onMouseOver + Definiert bei welchem Event das Popup aufgerufen werden soll. Erlaubte Werte sind: onMouseOver und onClick + + + sticky + boolean + Nein + false + Definiert ob das Popup geöffnet bleiben soll bis es manuell geschlossen wird. + + + caption + string + Nein + n/a + Definiert die Überschrift. + + + fgcolor + string + Nein + n/a + Hintergrundfarbe des Popups. + + + bgcolor + string + Nein + n/a + Rahmenfarbe des Popups. + + + textcolor + string + Nein + n/a + Farbe des Textes im Popup. + + + capcolor + string + Nein + n/a + Farbe der Popup-Überschrift. + + + closecolor + string + Nein + n/a + Die Farbe des 'close'-Textes. + + + textfont + string + Nein + n/a + Die Farbe des Textes. + + + captionfont + string + Nein + n/a + Die Schriftart für die Überschrift. + + + closefont + string + Nein + n/a + Die Schriftart für den 'close'-Text. + + + textsize + string + Nein + n/a + Die Schriftgrösse des Textes. + + + captionsize + string + Nein + n/a + Die Schriftgrösse der Überschrift. + + + closesize + string + Nein + n/a + Die Schriftgrösse des 'close'-Textes. + + + width + integer + Nein + n/a + Die Breite der Popup-Box. + + + height + integer + Nein + n/a + Die Höhe der Popup-Box. + + + left + boolean + Nein + false + Öffnet die Popup-Box links von Mauszeiger. + + + right + boolean + Nein + false + Öffnet die Popup-Box rechts von Mauszeiger. + + + center + boolean + Nein + false + Öffnet die Popup-Box in der Mitte des Mauszeigers. + + + above + boolean + Nein + false + Öffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur möglich wenn 'height' definiert ist. + + + below + boolean + Nein + false + Öffnet die Popup-Box unterhalb des Mauszeigers. + + + border + integer + Nein + n/a + Die Rahmenbreite der Popup-Box. + + + offsetx + integer + Nein + n/a + Horizontale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt. + + + offsety + integer + Nein + n/a + Vertikale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt. + + + fgbackground + url to image + Nein + n/a + Das Hintergundbild. + + + bgbackground + url to image + Nein + n/a + + Definiert das Bild welches verwendet werden soll um den Rahmen zu zeichnen. + Achtung: Sie müssen 'bgcolor' auf '' setzen, da die Farbe sonst angezeigt wird. + Achtung: Wenn sie einen 'close'-Link verwenden, wird Netscape (4.x) die Zellen + mehrfach rendern, was zu einer falschen Anzeige führen kann. + + + + closetext + string + Nein + n/a + Definiert den Text des 'close'-Links. + + + noclose + boolean + Nein + n/a + Zeigt den 'close'-Link nicht an. + + + status + string + Nein + n/a + Definiert den Text der in der Browser-Statuszeile ausgegeben wird. + + + autostatus + boolean + Nein + n/a + Gibt als Statusinformationen den Popup-Text aus. Achtung: Dies überschreibt die definierten Statuswerte. + + + autostatuscap + string + Nein + n/a + Zeigt in der Statusleiste den Wert der Popup-Überschrift an. Achtung: Dies überschreibt die definierten Statuswerte. + + + inarray + integer + Nein + n/a + + Weist 'overLib' an, den Wert aus dem in 'overlib.js' definierten Array 'ol_text' zu lesen. + + + caparray + integer + Nein + n/a + Weist 'overLib' an, die Überschrift aus dem in 'overlib.js' definierten Array 'ol_caps' zu lesen. + + + capicon + url + Nein + n/a + Zeigt das übergebene Bild vor der Überschrift an. + + + snapx + integer + Nein + n/a + Aliniert das Popup an einem horizontalen Gitter. + + + snapy + integer + Nein + n/a + Aliniert das Popup an einem vertikalen Gitter. + + + fixx + integer + Nein + n/a + Fixiert das Popup an der definierten horizontalen Position. Achtung: überschreibt alle anderen horizontalen Positionen. + + + fixy + integer + Nein + n/a + Fixiert das Popup an der definierten vertikalen Position. Achtung: überschreibt alle anderen vertikalen Positionen. + + + background + url + Nein + n/a + Definiert das Hintergrundbild welches anstelle des Tabellenhintergrundes verwendet werden soll. + + + padx + integer,integer + Nein + n/a + Erzeugt horizontale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion. + + + pady + integer,integer + Nein + n/a + Erzeugt vertikale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion. + + + fullhtml + boolean + Nein + n/a + Lässt Sie den HTML-Code betreffend einem Hintergrundbild komplett kontrollieren. + + + frame + string + Nein + n/a + Kontrolliert Popups in einem anderen Frame. Sehen sie die 'overLib'-Seite für zusätzliche Informationen zu dieser Funktion. + + + timeout + string + Nein + n/a + Führt die übergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text für das Popup. + + + delay + integer + Nein + n/a + Macht, dass sich das Popup wie ein Tooltip verhält, und nach den definierten Millisekunden verschwindet. + + + hauto + boolean + Nein + n/a + Lässt 'overLib' automatisch definieren an welcher Seite (links/rechts) des Mauszeigers das Popup ausgegeben werden soll. + + + vauto + boolean + Nein + n/a + Lässt 'overLib' automatisch definieren an welcher Seite (oben/unten) des Mauszeigers das Popup ausgegeben werden soll. + + + + + + 'popup' wird verwendet um Javascript-Popup-Fenster zu erzeugen. + + +popup + + +{* 'popup_init' muss am Anfang jeder Seite aufgerufen werden die 'popup' verwendet *} +{popup_init src="/javascripts/overlib.js"} + +{* create a link with a popup window when you move your mouse over *} +{* ein link mit einem Popup welches geöffnet wird wenn die Maus über dem Link ist. *} +<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> + + +{* Sie können in einem Popup text, html, links und weiteres verwenden *} +<A href="mypage.html" {popup sticky=true caption="mypage contents" +text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> + +AUSGABE: + + +(Für Beispiele können Sie sich die Smarty Homepage anschauen.) + + + \ No newline at end of file diff --git a/docs/de/designers/language-custom-functions/language-function-textformat.xml b/docs/de/designers/language-custom-functions/language-function-textformat.xml new file mode 100644 index 00000000..c1b69285 --- /dev/null +++ b/docs/de/designers/language-custom-functions/language-function-textformat.xml @@ -0,0 +1,251 @@ + + + + textformat (Textformatierung) + + + + + + + + + + Attribut Name + Typ + Erforderlich + Standardwert + Beschreibung + + + + + style + string + Nein + n/a + aktueller Stil + + + indent + number + Nein + 0 + Anzahl Zeichen die für das einrücken von Zeilen verwendet werden. + + + indent_first + number + Nein + 0 + Anzahl Zeichen die für das Einrücken der ersten Zeile verwendet werden. + + + indent_char + string + Nein + (single space) + Das Zeichen welches zum Einrücken verwendet werden soll. + + + wrap + number + Nein + 80 + Maximale Zeilenlänge bevor die Zeile umgebrochen wird. + + + wrap_char + string + Nein + \n + Das für Zeilenumbrüche zu verwendende Zeichen. + + + wrap_cut + boolean + Nein + false + Wenn auf 'true' gesetzt, wird die Zeile an der definierten Position abgeschnitten. + + + assign + string + Nein + n/a + Die Template-Variable welcher die Ausgabe zugewiesen werden soll. + + + + + + 'textformat' ist eine Funktion um Text zu formatieren. Die Funktion + entfernt überflüssige Leerzeichen und formatiert Paragrafen + indem sie die Zeilen einrückt und umbricht. + + + Sie können entweder den aktuellen Stil verwenden, oder ihn anhand + der Parameter selber definieren. Im Moment ist 'email' der einzig verfügbare Stil. + + +textformat (Text Formatierung) + +{textformat wrap=40} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +AUSGABE: + +This is foo. This is foo. This is foo. +This is foo. This is foo. This is foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo +foo. bar foo bar foo foo. bar foo bar +foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. + + +{textformat wrap=40 indent=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +AUSGABE: + + This is foo. This is foo. This is + foo. This is foo. This is foo. This + is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. bar foo bar foo foo. + bar foo bar foo foo. bar foo bar + foo foo. + +{textformat wrap=40 indent=4 indent_first=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +AUSGABE: + + This is foo. This is foo. This + is foo. This is foo. This is foo. + This is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar + foo foo. bar foo bar foo foo. bar + foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. + +{textformat style="email"} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +AUSGABE: + +This is foo. This is foo. This is foo. This is foo. This is foo. This is +foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo +foo. + + + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers.xml b/docs/de/designers/language-modifiers.xml index b8d03438..f5e3664e 100644 --- a/docs/de/designers/language-modifiers.xml +++ b/docs/de/designers/language-modifiers.xml @@ -35,953 +35,26 @@ Thema: {$thema|truncate:40:"..."} müssen alle verwendeten PHP Funktionen im $security_settings['MODIFIER_FUNCS']-Array enthalten sein. - - capitalize (in Grossbuchstaben schreiben) - - Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben. - - - capitalize (in Grossbuchstaben schreiben) - -{$artikelTitel} -{$artikelTitel|capitalize} - -AUSGABE: - -diebe haben in norwegen 20 tonnen streusalz entwendet. -Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet. - - - - count_characters (Buchstaben zählen) - - - - - - - - - - Parameter Position - Typ - Benötigt - Standard - Beschreibung - - - - - 1 - boolean - Nein - false - Definiert ob Leerzeichen mitgezählt werden sollen. - - - - - - Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben. - - -count_characters (Buchstaben zählen) - - -{$artikelTitel} -{$artikelTitel|count_characters} -{$artikelTitel|count_characters:true} - -AUSGABE: - -20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte. -72 -61 - - - - cat - - - - - - - - - - Parameter Position - Typ - Benötigt - Standard - Beschreibung - - - - - 1 - string - Nein - leer/empty - Wert der an die Variable angefügt werden soll. - - - - - - Dieser Wert wird der aktuellen Variable hinzugefügt. - - -cat - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Psychics predict world didn't end"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|cat:" yesterday."} - -OUTPUT: - -Psychics predict world didn't end yesterday. - - - - count_paragraphs (Absätze zählen) - - Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln. - - -count_paragraphs (Paragrafen zählen) - - -{$artikelTitel} -{$artikelTitel|count_paragraphs} - -AUSGABE: - -Britische Spezialeinheiten sind aufgrund eines "Navigationsfehlers" nicht wie beabsichtigt in Gibraltar an Land gegangen, sondern an einem Badestrand, der zu Spanien gehört. - -Ein spanischer Lokführer hat aus Protest gegen die Arbeitsbedingungen nach gearbeiteten acht Stunden einfach seinen Zug stehen lassen, in dem sich allerdings noch 132 Passagiere befanden. -2 - - - - count_sentences (Sätze zählen) - - Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln. - - -count_sentences (Sätze zählen) - - -{$artikelTitel} -{$artikelTitel|count_sentences} - -AUSGABE: - -Zwei Deutsche haben die sogenannte "Painstation" vorgestellt. Bei Fehlern im Spiel wird der Spieler durch Elektroschocks aus der Konsole bestraft. Wer länger aushält, hat gewonnen. -3 - - - - count_words (Wörter zählen) - - Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln. - - -count_words (Wörter zählen) - - -{$artikelTitel} -{$artikelTitel|count_words} - -AUSGABE: - -Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose. -12 - - - - date_format (Datums Formatierung) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - string - Nein - %b %e, %Y - Das Format des ausgegebenen Datums. - - - 2 - string - Nein - n/a - Der Standardwert (Datum) wenn die Eingabe leer ist. - - - - - - Formatiert Datum und Uhrzeit in das definierte 'strftime()'-Format. - Daten können als Unix-Timestamps, MySQL-Timestamps - und jeder Zeichenkette die aus 'Monat Tag Jahr' (von strtotime parsebar) besteht - übergeben werden. Designer können 'date_format' verwenden, - um vollständige Kontrolle über das Format des Datums zu erhalten. - Falls das übergebene Datum leer ist und der zweite Parameter - übergeben wurde, wird dieser formatiert und ausgegeben. - - -date_format (Datums Formatierung) - -{$smarty.now|date_format} -{$smarty.now|date_format:"%A, %B %e, %Y"} -{$smarty.now|date_format:"%H:%M:%S"} - -AUSGABE: - -Feb 6, 2001 -Tuesday, February 6, 2001 -14:33:00 - - -'date_format' Konvertierungs Spezifikation - -%a - abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung - -%A - ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung - -%b - abgekürzter Name des Monats, abhängig von der gesetzten Umgebung - -%B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung - -%c - Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung - -%C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99) - -%d - Tag des Monats als Zahl (Bereich 00 bis 31) - -%D - so wie %m/%d/%y - -%e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt (Wertebereich ґ 0ґ bis ґ31ґ) - -%g - wie %G, aber ohne Jahrhundert. - -%G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V). Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: entspricht die ISO Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet. - -%h - so wie %b - -%H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23) - -%I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12) - -%j - Tag des Jahres als Zahl (Bereich 001 bis 366) - -%m - Monat als Zahl (Bereich 01 bis 12) - -%M - Minute als Dezimal-Wert - -%n - neue Zeile - -%p - entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung - -%r - Zeit im Format a.m. oder p.m. - -%R - Zeit in der 24-Stunden-Formatierung - -%S - Sekunden als Dezimal-Wert - -%t - Tabulator - -%T - aktuelle Zeit, genau wie %H:%M:%S - -%u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag. - -%U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert, beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche. - -%V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.) - -%w - Wochentag als Dezimal-Wert, Sonntag ist 0 - -%W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche. - -%x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der gesetzten Umgebung. - -%X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der gesetzten Umgebung. - -%y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99) - -%Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts - -%Z - Zeitzone, Name oder eine Abkürzung - -%% - ein %-Zeichen - -BEMERKUNG FÜR PROGRAMMIERER: 'date_format' ist ein wrapper für PHP's 'strftime()'-Funktion. -Je nachdem auf welchem System ihr PHP kompiliert wurde, ist es durchaus möglich, dass nicht alle -angegebenen Formatierungszeichen unterstützt werden. Beispielsweise stehen %e, %T, %R und %D -(eventuell weitere) auf Windowssystemen nicht zur Verfügung. - - - - default (Standardwert) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - string - Nein - leer - Dieser Wert wird ausgegeben wenn die Variable leer ist. - - - - - - Wird verwendet um den Standardwert einer Variable festzulegen. - Falls die Variable leer ist oder nicht gesetzt wurde, - wird dieser Standardwert ausgegeben. - Default (Standardwert) hat 1 Parameter. - - -default (Standardwert) - -{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *} -{$artikelTitel|default:"kein Titel"} - -AUSGABE: - -kein Titel - - - - escape (Maskieren) - - - - - - - - - - - Parameter Position - Typ - Erforderlich - Mögliche (erlaubte) Werte - Standardwerte - Beschreibung - - - - - 1 - string - Nein - html, htmlall, url, quotes, hex, hexentity - html - Definiert die zu verwendende Maskierung. - - - - - - Wird verwendet um eine Variable mit HTML, URL oder - einfachen Anführungszeichen, beziehungsweise Hex oder Hex-Entitäten - zu maskieren. Hex und Hex-Entity kann verwendet werden um "mailto:" - -Links so zu verändern, dass sie von Web-Spiders (E-Mail Sammlern) - verborgen bleiben und dennoch les-/linkbar für Webbrowser bleiben. - Als Standard, wird 'HTML'-Maskierung verwendet. - - -escape (Maskieren) - -index.php: - -$smarty = new Smarty; -$smarty->assign('TitreArticle', "'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'"); -$smarty->display('index.tpl'); - -index.tpl: - -{$artikelTitel} -{$artikelTitel|escape} -{$artikelTitel|escape:"html"} {* maskiert & " ' < > *} -{$artikelTitel|escape:"htmlall"} {* maskiert ALLE html Entitäten *} -{$artikelTitel|escape:"url"} -{$artikelTitel|escape:"quotes"} -<a href="mailto:{$EmailAdresse|escape:"hex"}">{$EmailAdresse|escape:"hexentity"}</a> - -AUSGABE: - -'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.' -&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; -&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; -&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; -%27Zwei+Unbekannte+haben+im+Lidl+in+Monheim+24+Pakete+Kaffee+gestohlen.%27 -\'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.\' -<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> - - - - indent (Einrücken) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - integer - Nein - 4 - Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken. - - - 2 - string - Nein - (ein Leerschlag) - Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken. - - - - - - Wird verwendet, um eine Zeichenkette auf jeder Zeile einzurücken. - Optionaler Parameter ist die Anzahl der Zeichen, - um die der Text eingerückt werden soll. Standardlänge ist 4. - Als zweiten optionalen Parameter können sie ein Zeichen übergeben, - das für die Einrückung verwendet werden soll (für Tabulatoren: '\t'). - - -indent (Einrücken) - -{$arikelTitel} - -{$arikelTitel|indent} - -{$arikelTitel|indent:10} - -{$arikelTitel|indent:1:"\t"} - -AUSGABE: - -Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto -nicht mehr und meldete es als gestohlen. Ein Jahr später -besuchte er den Ort wieder und erinnerte sich, dass er -das Auto nur an einem anderen Ort abgestellt hatte - -dort stand das Fahrzeug nach einem Jahr auch noch. - - Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto - nicht mehr und meldete es als gestohlen. Ein Jahr später - besuchte er den Ort wieder und erinnerte sich, dass er - das Auto nur an einem anderen Ort abgestellt hatte - - dort stand das Fahrzeug nach einem Jahr auch noch. - - Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto - nicht mehr und meldete es als gestohlen. Ein Jahr später - besuchte er den Ort wieder und erinnerte sich, dass er - das Auto nur an einem anderen Ort abgestellt hatte - - dort stand das Fahrzeug nach einem Jahr auch noch. - - Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto - nicht mehr und meldete es als gestohlen. Ein Jahr später - besuchte er den Ort wieder und erinnerte sich, dass er - das Auto nur an einem anderen Ort abgestellt hatte - - dort stand das Fahrzeug nach einem Jahr auch noch. - - - - lower (in Kleinbuchstaben schreiben) - - Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben. - - -lower (in Kleinbuchstaben schreiben) - -{$artikelTitel} -{$artikelTitel|lower} - -AUSGABE: - -In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen. -in kalifornien wurde ein hund in das wählerverzeichnis eingetragen. - - - - regex_replace (Ersetzen mit regulären Ausdrücken) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - string - Ja - n/a - Definiert das zu ersetzende Suchmuster, als regulären Ausdruck. - - - 2 - string - Ja - n/a - Definiert die ersetzende Zeichenkette. - - - - - - Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace(). - - -regex_replace (Ersetzen mit regulären Ausdrücken) - -{* Ersetzt jeden Zeilenumbruch-Tabulator-Neuezeile, durch ein Leerzeichen. *} - -{$artikelTitel} -{$artikelTitel|regex_replace:"/[\r\t\n]/":" "} - -AUSGABE: - -Ein Bankangestellter in England zerkaut aus Stress - bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung. -Ein Bankangestellter in England zerkaut aus Stress bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung. - - - - replace (Ersetzen) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - string - Ja - n/a - Die zu ersetzende Zeichenkette. - - - 2 - string - Ja - n/a - Die ersetzende Zeichenkette. - - - - - - Einfaches suchen/ersetzen in einer Variable. - - -replace (Ersetzen) - -{$artikelTitel} -{$artikelTitel|replace:"Fracht":"Lieferung"} -{$artikelTitel|replace:" ":" "} - -AUSGABE: - -Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann. -Ein Holsten-Laster hat in England seine komplette Lieferung verloren, die nun von jedermann aufgesammelt werden kann. -Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann. - - - - - spacify (Zeichenkette splitten) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - string - Nein - ein Leerzeichen - Definiert die zwischen allen Zeichen einzufügende Zeichenkette. - - - - - - Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein. - Eine alternativ einzufügende Zeichenkette kann über - den ersten Parameter definiert werden. - - -spacify (Zeichenkette splitten) - -{$artikelTitel} -{$artikelTitel|spacify} -{$artikelTitel|spacify:"^^"} - -AUSGABE: - -Ein Mann flog 5000 km um sich die Haare schneiden zu lassen. Grund: Seine offensichtlich begnadete Friseuse zog von den Bermudas nach England und bis dato fand er keine Neue. -E i n M a n n f l o g 5 0 0 0 k m u m s i c h d i e H a a r e s c h n e i d e n z u l a s s e n . G r u n d : S e i n e o f f e n s i c h t l i c h b e g n a d e t e F r i s e u s e z o g v o n d e n B e r m u d a s n a c h E n g l a n d u n d b i s d a t o f a n d e r k e i n e N e u e . -E^^i^^n^^ ^^M^^a^^n^^n^^ ^^f^^l^^o^^g^^ ^^5^^0^^0^^0^^ ^^k^^m^^ ^^u^^m^^ ^^s^^i^^c^^h^^ ^^d^^i^^e^^ ^^H^^a^^a^^r^^e^^ ^^s^^c^^h^^n^^e^^i^^d^^e^^n^^ ^^z^^u^^ ^^l^^a^^s^^s^^e^^n^^.^^ ^^G^^r^^u^^n^^d^^:^^ ^^S^^e^^i^^n^^e^^ ^^o^^f^^f^^e^^n^^s^^i^^c^^h^^t^^l^^i^^c^^h^^ ^^b^^e^^g^^n^^a^^d^^e^^t^^e^^ ^^F^^r^^i^^s^^e^^u^^s^^e^^ ^^z^^o^^g^^ ^^v^^o^^n^^ ^^d^^e^^n^^ ^^B^^e^^r^^m^^u^^d^^a^^s^^ ^^n^^a^^c^^h^^ ^^E^^n^^g^^l^^a^^n^^d^^ ^^u^^n^^d^^ ^^b^^i^^s^^ ^^d^^a^^t^^o^^ ^^f^^a^^n^^d^^ ^^e^^r^^ ^^k^^e^^i^^n^^e^^ ^^N^^e^^u^^e^^.^^ - - - - string_format (Zeichenkette formatieren) - - - - - - - - - - Parameter Position - Typ - Erfoderlich - Standardwert - Beschreibung - - - - - 1 - string - Ja - n/a - Das zu verwendende Format (sprintf). - - - - - - Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren. - Folgt der Formatierungs-Syntax von sprintf. - - -string_format (Zeichenkette formatieren) - -{$wert} -{$wert|string_format:"%.2f"} -{$wert|string_format:"%d"} - -AUSGABE: - -23.5787446 -23.58 -24 - - - - strip (Zeichenkette strippen) - - Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen - oder eine alternative Zeichenkette. - - - Achtung - - Falls Sie ganze Blöcke eines Templates 'strippen' möchten, - verwenden Sie dazu strip. - - - -strip (Zeichenkette strippen) - -{$artikelTitel} -{$artikelTitel|strip} -{$artikelTitel|strip:"&nbsp;"} - -AUSGABE: - -Ein 18 Jahre alter Pappkarton - erzielte bei Ebay einen Erlös von - 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war. -Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war. -Ein&nbsp;18&nbsp;Jahre&nbsp;alter&nbsp;Pappkarton&nbsp;erzielte&nbsp;bei&nbsp;Ebay&nbsp;einen&nbsp;Erlös&nbsp;von&nbsp;536&nbsp;Dollar.&nbsp;Es&nbsp;war&nbsp;der&nbsp;Karton,&nbsp;in&nbsp;dem&nbsp;der&nbsp;erste&nbsp;Apple&nbsp;verpackt&nbsp;war. - - - - strip_tags (HTML-Tags entfernen) - - Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind. - - -strip_tags (HTML-Tags entfernen) - -{$atrikelTitel} -{$atrikelTitel|strip_tags} - -AUSGABE: - -Da ein <font face="helvetica">betrunkener Mann</font> auf einem Flug ausfallend wurde, musste <b>das Flugzeug</b> auf einer kleinen Insel zwischenlanden und den Mann aussetzen. -Da ein betrunkener Mann auf einem Flug ausfallend wurde, musste das Flugzeug auf einer kleinen Insel zwischenlanden und den Mann aussetzen. - - - - truncate (kürzen) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - integer - Nein - 80 - Länge, auf die die Zeichenkette gekürzt werden soll. - - - 2 - string - Nein - ... - An die gekürzte Zeichenkette anzuhängende Zeichenkette. - - - 3 - boolean - Nein - false - Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen. - - - - - - Kürzt die Variable auf eine definierte Länge. Standardwert sind 80 Zeichen. - Als optionaler zweiter Parameter kann eine Zeichenkette übergeben werden, welche - der gekürzten Variable angehängt wird. Diese zusätzliche Zeichenkette - wird bei der Berechnung der Länge berücksichtigt. Normalerweise wird - 'truncate' versuchen, die Zeichenkette zwischen zwei Wörtern umzubrechen. Um die - Zeichenkette exakt an der definierten Position abzuscheiden, - können sie als dritten Parameter 'true' übergeben. - - -truncate (kürzen) - -{$artikelTitel} -{$artikelTitel|truncate} -{$artikelTitel|truncate:30} -{$artikelTitel|truncate:30:""} -{$artikelTitel|truncate:30:"---"} -{$artikelTitel|truncate:30:"":true} -{$artikelTitel|truncate:30:"...":true} - -AUSGABE: - -George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen. -George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen. -George W. Bush will die frei... -George W. Bush will die frei -George W. Bush will die frei--- -George W. Bush will die frei -George W. Bush will die fr... - - - - upper (in Grossbuchstaben umwandeln) - - Wandelt eine Zeichenkette in Grossbuchstaben um. - - -upper (in Grossbuchstaben umwandeln) - -{$artikelTitel} -{$artikelTitel|upper} - -AUSGABE: - -Ein 58jähriger Belgier ist nach 35 Jahren zum Sieger der Weltmeisterschaft im Querfeldeinrennen 1967 erklärt worden - Grund: Ein damaliger Formfehler. -EIN 58JÄHRIGER BELGIER IST NACH 35 JAHREN ZUM SIEGER DER WELTMEISTERSCHAFT IM QUERFELDEINRENNEN 1967 ERKLÄRT WORDEN - GRUND: EIN DAMALIGER FORMFEHLER. - - - - wordwrap (Zeilenumbruch) - - - - - - - - - - Parameter Position - Typ - Erforderlich - Standardwert - Beschreibung - - - - - 1 - integer - Nein - 80 - Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette. - - - 2 - string - Nein - \n - Definiert das zu verwendende Zeichen. - - - 3 - boolean - Nein - false - Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true). - - - - - - Bricht eine Zeichenkette an einer definierten Stelle (Standardwert 80) um. - Als optionaler zweiter Parameter kann das Zeichen übergeben werden, - welches zum Umbrechen verwendet werden soll (Standardwert '\n'). Normalerweise - bricht wordwrap nur zwischen zwei Wörtern um. Falls Sie exakt an der - definierten Stelle umbrechen wollen, übergeben - Sie als optionalen dritten Parameter 'true'. - - -wordwrap (Zeilenumbruch) - -{$artikelTitel} - -{$artikelTitel|wordwrap:75} - -{$artikelTitel|wordwrap:50} - -{$artikelTitel|wordwrap:75:"<br>\n"} - -{$artikelTitel|wordwrap:75:"\n":true} - -AUSGABE: - -Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz danach zurück, um die Hose umzutauschen, weil die Grösse nicht passte. - -Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz -danach zurück, um die Hose umzutauschen, weil die Grösse nicht -passte. - -Eine Frau stahl in einem Bekleidungsgeschäft -eine Hose und kam kurz danach zurück, um die -Hose umzutauschen, weil die Grösse nicht -passte. - -Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz<br> -danach zurück, um die Hose umzutauschen, weil die Grösse nicht<br> -passte. - -Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz d -anach zurück, um die Hose umzutauschen, weil die Grösse nicht pass -te. - - +&designers.language-modifiers.language-modifier-capitalize; +&designers.language-modifiers.language-modifier-count-characters; +&designers.language-modifiers.language-modifier-cat; +&designers.language-modifiers.language-modifier-count-paragraphs; +&designers.language-modifiers.language-modifier-count-sentences; +&designers.language-modifiers.language-modifier-count-words; +&designers.language-modifiers.language-modifier-date-format; +&designers.language-modifiers.language-modifier-default; +&designers.language-modifiers.language-modifier-escape; +&designers.language-modifiers.language-modifier-indent; +&designers.language-modifiers.language-modifier-lower; +&designers.language-modifiers.language-modifier-regex-replace; +&designers.language-modifiers.language-modifier-replace; +&designers.language-modifiers.language-modifier-spacify; +&designers.language-modifiers.language-modifier-string-format; +&designers.language-modifiers.language-modifier-strip; +&designers.language-modifiers.language-modifier-strip-tags; +&designers.language-modifiers.language-modifier-truncate; +&designers.language-modifiers.language-modifier-upper; +&designers.language-modifiers.language-modifier-wordwrap; + + capitalize (in Grossbuchstaben schreiben) + + Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben. + + + capitalize (in Grossbuchstaben schreiben) + +{$artikelTitel} +{$artikelTitel|capitalize} + +AUSGABE: + +diebe haben in norwegen 20 tonnen streusalz entwendet. +Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-cat.xml b/docs/de/designers/language-modifiers/language-modifier-cat.xml new file mode 100644 index 00000000..ef8c8ee5 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-cat.xml @@ -0,0 +1,72 @@ + + + + cat + + + + + + + + + + Parameter Position + Typ + Benötigt + Standard + Beschreibung + + + + + 1 + string + Nein + leer/empty + Wert der an die Variable angefügt werden soll. + + + + + + Dieser Wert wird der aktuellen Variable hinzugefügt. + + +cat + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Psychics predict world didn't end"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|cat:" yesterday."} + +OUTPUT: + +Psychics predict world didn't end yesterday. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-count-characters.xml b/docs/de/designers/language-modifiers/language-modifier-count-characters.xml new file mode 100644 index 00000000..f7212447 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-count-characters.xml @@ -0,0 +1,69 @@ + + + + count_characters (Buchstaben zählen) + + + + + + + + + + Parameter Position + Typ + Benötigt + Standard + Beschreibung + + + + + 1 + boolean + Nein + false + Definiert ob Leerzeichen mitgezählt werden sollen. + + + + + + Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben. + + +count_characters (Buchstaben zählen) + + +{$artikelTitel} +{$artikelTitel|count_characters} +{$artikelTitel|count_characters:true} + +AUSGABE: + +20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte. +72 +61 + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml new file mode 100644 index 00000000..862932ce --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml @@ -0,0 +1,42 @@ + + + + count_paragraphs (Absätze zählen) + + Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln. + + +count_paragraphs (Paragrafen zählen) + + +{$artikelTitel} +{$artikelTitel|count_paragraphs} + +AUSGABE: + +Britische Spezialeinheiten sind aufgrund eines "Navigationsfehlers" nicht wie beabsichtigt in Gibraltar an Land gegangen, sondern an einem Badestrand, der zu Spanien gehört. + +Ein spanischer Lokführer hat aus Protest gegen die Arbeitsbedingungen nach gearbeiteten acht Stunden einfach seinen Zug stehen lassen, in dem sich allerdings noch 132 Passagiere befanden. +2 + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml new file mode 100644 index 00000000..d7b58e3d --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml @@ -0,0 +1,40 @@ + + + + count_sentences (Sätze zählen) + + Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln. + + +count_sentences (Sätze zählen) + + +{$artikelTitel} +{$artikelTitel|count_sentences} + +AUSGABE: + +Zwei Deutsche haben die sogenannte "Painstation" vorgestellt. Bei Fehlern im Spiel wird der Spieler durch Elektroschocks aus der Konsole bestraft. Wer länger aushält, hat gewonnen. +3 + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-count-words.xml b/docs/de/designers/language-modifiers/language-modifier-count-words.xml new file mode 100644 index 00000000..eb0ff54e --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-count-words.xml @@ -0,0 +1,40 @@ + + + + count_words (Wörter zählen) + + Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln. + + +count_words (Wörter zählen) + + +{$artikelTitel} +{$artikelTitel|count_words} + +AUSGABE: + +Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose. +12 + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-date-format.xml b/docs/de/designers/language-modifiers/language-modifier-date-format.xml new file mode 100644 index 00000000..3006bd62 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-date-format.xml @@ -0,0 +1,159 @@ + + + + date_format (Datums Formatierung) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + string + Nein + %b %e, %Y + Das Format des ausgegebenen Datums. + + + 2 + string + Nein + n/a + Der Standardwert (Datum) wenn die Eingabe leer ist. + + + + + + Formatiert Datum und Uhrzeit in das definierte 'strftime()'-Format. + Daten können als Unix-Timestamps, MySQL-Timestamps + und jeder Zeichenkette die aus 'Monat Tag Jahr' (von strtotime parsebar) besteht + übergeben werden. Designer können 'date_format' verwenden, + um vollständige Kontrolle über das Format des Datums zu erhalten. + Falls das übergebene Datum leer ist und der zweite Parameter + übergeben wurde, wird dieser formatiert und ausgegeben. + + +date_format (Datums Formatierung) + +{$smarty.now|date_format} +{$smarty.now|date_format:"%A, %B %e, %Y"} +{$smarty.now|date_format:"%H:%M:%S"} + +AUSGABE: + +Feb 6, 2001 +Tuesday, February 6, 2001 +14:33:00 + + +'date_format' Konvertierungs Spezifikation + +%a - abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung + +%A - ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung + +%b - abgekürzter Name des Monats, abhängig von der gesetzten Umgebung + +%B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung + +%c - Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung + +%C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99) + +%d - Tag des Monats als Zahl (Bereich 00 bis 31) + +%D - so wie %m/%d/%y + +%e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt (Wertebereich ґ 0ґ bis ґ31ґ) + +%g - wie %G, aber ohne Jahrhundert. + +%G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V). Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: entspricht die ISO Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet. + +%h - so wie %b + +%H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23) + +%I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12) + +%j - Tag des Jahres als Zahl (Bereich 001 bis 366) + +%m - Monat als Zahl (Bereich 01 bis 12) + +%M - Minute als Dezimal-Wert + +%n - neue Zeile + +%p - entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung + +%r - Zeit im Format a.m. oder p.m. + +%R - Zeit in der 24-Stunden-Formatierung + +%S - Sekunden als Dezimal-Wert + +%t - Tabulator + +%T - aktuelle Zeit, genau wie %H:%M:%S + +%u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag. + +%U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert, beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche. + +%V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.) + +%w - Wochentag als Dezimal-Wert, Sonntag ist 0 + +%W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche. + +%x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der gesetzten Umgebung. + +%X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der gesetzten Umgebung. + +%y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99) + +%Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts + +%Z - Zeitzone, Name oder eine Abkürzung + +%% - ein %-Zeichen + +BEMERKUNG FÜR PROGRAMMIERER: 'date_format' ist ein wrapper für PHP's 'strftime()'-Funktion. +Je nachdem auf welchem System ihr PHP kompiliert wurde, ist es durchaus möglich, dass nicht alle +angegebenen Formatierungszeichen unterstützt werden. Beispielsweise stehen %e, %T, %R und %D +(eventuell weitere) auf Windowssystemen nicht zur Verfügung. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-default.xml b/docs/de/designers/language-modifiers/language-modifier-default.xml new file mode 100644 index 00000000..d0bfece5 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-default.xml @@ -0,0 +1,68 @@ + + + + default (Standardwert) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + string + Nein + leer + Dieser Wert wird ausgegeben wenn die Variable leer ist. + + + + + + Wird verwendet um den Standardwert einer Variable festzulegen. + Falls die Variable leer ist oder nicht gesetzt wurde, + wird dieser Standardwert ausgegeben. + Default (Standardwert) hat 1 Parameter. + + +default (Standardwert) + +{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *} +{$artikelTitel|default:"kein Titel"} + +AUSGABE: + +kein Titel + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-escape.xml b/docs/de/designers/language-modifiers/language-modifier-escape.xml new file mode 100644 index 00000000..bf4d8efe --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-escape.xml @@ -0,0 +1,92 @@ + + + + escape (Maskieren) + + + + + + + + + + + Parameter Position + Typ + Erforderlich + Mögliche (erlaubte) Werte + Standardwerte + Beschreibung + + + + + 1 + string + Nein + html, htmlall, url, quotes, hex, hexentity + html + Definiert die zu verwendende Maskierung. + + + + + + Wird verwendet um eine Variable mit HTML, URL oder + einfachen Anführungszeichen, beziehungsweise Hex oder Hex-Entitäten + zu maskieren. Hex und Hex-Entity kann verwendet werden um "mailto:" + -Links so zu verändern, dass sie von Web-Spiders (E-Mail Sammlern) + verborgen bleiben und dennoch les-/linkbar für Webbrowser bleiben. + Als Standard, wird 'HTML'-Maskierung verwendet. + + +escape (Maskieren) + +index.php: + +$smarty = new Smarty; +$smarty->assign('TitreArticle', "'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'"); +$smarty->display('index.tpl'); + +index.tpl: + +{$artikelTitel} +{$artikelTitel|escape} +{$artikelTitel|escape:"html"} {* maskiert & " ' < > *} +{$artikelTitel|escape:"htmlall"} {* maskiert ALLE html Entitäten *} +{$artikelTitel|escape:"url"} +{$artikelTitel|escape:"quotes"} +<a href="mailto:{$EmailAdresse|escape:"hex"}">{$EmailAdresse|escape:"hexentity"}</a> + +AUSGABE: + +'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.' +&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; +&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; +&#039;Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.&#039; +%27Zwei+Unbekannte+haben+im+Lidl+in+Monheim+24+Pakete+Kaffee+gestohlen.%27 +\'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.\' +<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-indent.xml b/docs/de/designers/language-modifiers/language-modifier-indent.xml new file mode 100644 index 00000000..37c70470 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-indent.xml @@ -0,0 +1,103 @@ + + + + indent (Einrücken) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + integer + Nein + 4 + Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken. + + + 2 + string + Nein + (ein Leerschlag) + Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken. + + + + + + Wird verwendet, um eine Zeichenkette auf jeder Zeile einzurücken. + Optionaler Parameter ist die Anzahl der Zeichen, + um die der Text eingerückt werden soll. Standardlänge ist 4. + Als zweiten optionalen Parameter können sie ein Zeichen übergeben, + das für die Einrückung verwendet werden soll (für Tabulatoren: '\t'). + + +indent (Einrücken) + +{$arikelTitel} + +{$arikelTitel|indent} + +{$arikelTitel|indent:10} + +{$arikelTitel|indent:1:"\t"} + +AUSGABE: + +Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto +nicht mehr und meldete es als gestohlen. Ein Jahr später +besuchte er den Ort wieder und erinnerte sich, dass er +das Auto nur an einem anderen Ort abgestellt hatte - +dort stand das Fahrzeug nach einem Jahr auch noch. + + Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto + nicht mehr und meldete es als gestohlen. Ein Jahr später + besuchte er den Ort wieder und erinnerte sich, dass er + das Auto nur an einem anderen Ort abgestellt hatte - + dort stand das Fahrzeug nach einem Jahr auch noch. + + Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto + nicht mehr und meldete es als gestohlen. Ein Jahr später + besuchte er den Ort wieder und erinnerte sich, dass er + das Auto nur an einem anderen Ort abgestellt hatte - + dort stand das Fahrzeug nach einem Jahr auch noch. + + Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto + nicht mehr und meldete es als gestohlen. Ein Jahr später + besuchte er den Ort wieder und erinnerte sich, dass er + das Auto nur an einem anderen Ort abgestellt hatte - + dort stand das Fahrzeug nach einem Jahr auch noch. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-lower.xml b/docs/de/designers/language-modifiers/language-modifier-lower.xml new file mode 100644 index 00000000..3e2e0784 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-lower.xml @@ -0,0 +1,39 @@ + + + + lower (in Kleinbuchstaben schreiben) + + Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben. + + +lower (in Kleinbuchstaben schreiben) + +{$artikelTitel} +{$artikelTitel|lower} + +AUSGABE: + +In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen. +in kalifornien wurde ein hund in das wählerverzeichnis eingetragen. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml new file mode 100644 index 00000000..12bfba59 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml @@ -0,0 +1,76 @@ + + + + regex_replace (Ersetzen mit regulären Ausdrücken) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + string + Ja + n/a + Definiert das zu ersetzende Suchmuster, als regulären Ausdruck. + + + 2 + string + Ja + n/a + Definiert die ersetzende Zeichenkette. + + + + + + Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace(). + + +regex_replace (Ersetzen mit regulären Ausdrücken) + +{* Ersetzt jeden Zeilenumbruch-Tabulator-Neuezeile, durch ein Leerzeichen. *} + +{$artikelTitel} +{$artikelTitel|regex_replace:"/[\r\t\n]/":" "} + +AUSGABE: + +Ein Bankangestellter in England zerkaut aus Stress + bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung. +Ein Bankangestellter in England zerkaut aus Stress bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-replace.xml b/docs/de/designers/language-modifiers/language-modifier-replace.xml new file mode 100644 index 00000000..72945de7 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-replace.xml @@ -0,0 +1,76 @@ + + + + replace (Ersetzen) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + string + Ja + n/a + Die zu ersetzende Zeichenkette. + + + 2 + string + Ja + n/a + Die ersetzende Zeichenkette. + + + + + + Einfaches suchen/ersetzen in einer Variable. + + +replace (Ersetzen) + +{$artikelTitel} +{$artikelTitel|replace:"Fracht":"Lieferung"} +{$artikelTitel|replace:" ":" "} + +AUSGABE: + +Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann. +Ein Holsten-Laster hat in England seine komplette Lieferung verloren, die nun von jedermann aufgesammelt werden kann. +Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann. + + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-spacify.xml b/docs/de/designers/language-modifiers/language-modifier-spacify.xml new file mode 100644 index 00000000..491422e0 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-spacify.xml @@ -0,0 +1,70 @@ + + + + spacify (Zeichenkette splitten) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + string + Nein + ein Leerzeichen + Definiert die zwischen allen Zeichen einzufügende Zeichenkette. + + + + + + Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein. + Eine alternativ einzufügende Zeichenkette kann über + den ersten Parameter definiert werden. + + +spacify (Zeichenkette splitten) + +{$artikelTitel} +{$artikelTitel|spacify} +{$artikelTitel|spacify:"^^"} + +AUSGABE: + +Ein Mann flog 5000 km um sich die Haare schneiden zu lassen. Grund: Seine offensichtlich begnadete Friseuse zog von den Bermudas nach England und bis dato fand er keine Neue. +E i n M a n n f l o g 5 0 0 0 k m u m s i c h d i e H a a r e s c h n e i d e n z u l a s s e n . G r u n d : S e i n e o f f e n s i c h t l i c h b e g n a d e t e F r i s e u s e z o g v o n d e n B e r m u d a s n a c h E n g l a n d u n d b i s d a t o f a n d e r k e i n e N e u e . +E^^i^^n^^ ^^M^^a^^n^^n^^ ^^f^^l^^o^^g^^ ^^5^^0^^0^^0^^ ^^k^^m^^ ^^u^^m^^ ^^s^^i^^c^^h^^ ^^d^^i^^e^^ ^^H^^a^^a^^r^^e^^ ^^s^^c^^h^^n^^e^^i^^d^^e^^n^^ ^^z^^u^^ ^^l^^a^^s^^s^^e^^n^^.^^ ^^G^^r^^u^^n^^d^^:^^ ^^S^^e^^i^^n^^e^^ ^^o^^f^^f^^e^^n^^s^^i^^c^^h^^t^^l^^i^^c^^h^^ ^^b^^e^^g^^n^^a^^d^^e^^t^^e^^ ^^F^^r^^i^^s^^e^^u^^s^^e^^ ^^z^^o^^g^^ ^^v^^o^^n^^ ^^d^^e^^n^^ ^^B^^e^^r^^m^^u^^d^^a^^s^^ ^^n^^a^^c^^h^^ ^^E^^n^^g^^l^^a^^n^^d^^ ^^u^^n^^d^^ ^^b^^i^^s^^ ^^d^^a^^t^^o^^ ^^f^^a^^n^^d^^ ^^e^^r^^ ^^k^^e^^i^^n^^e^^ ^^N^^e^^u^^e^^.^^ + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-string-format.xml b/docs/de/designers/language-modifiers/language-modifier-string-format.xml new file mode 100644 index 00000000..97ddee7d --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-string-format.xml @@ -0,0 +1,69 @@ + + + + string_format (Zeichenkette formatieren) + + + + + + + + + + Parameter Position + Typ + Erfoderlich + Standardwert + Beschreibung + + + + + 1 + string + Ja + n/a + Das zu verwendende Format (sprintf). + + + + + + Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren. + Folgt der Formatierungs-Syntax von sprintf. + + +string_format (Zeichenkette formatieren) + +{$wert} +{$wert|string_format:"%.2f"} +{$wert|string_format:"%d"} + +AUSGABE: + +23.5787446 +23.58 +24 + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml new file mode 100644 index 00000000..dd136ddd --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml @@ -0,0 +1,39 @@ + + + + strip_tags (HTML-Tags entfernen) + + Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind. + + +strip_tags (HTML-Tags entfernen) + +{$atrikelTitel} +{$atrikelTitel|strip_tags} + +AUSGABE: + +Da ein <font face="helvetica">betrunkener Mann</font> auf einem Flug ausfallend wurde, musste <b>das Flugzeug</b> auf einer kleinen Insel zwischenlanden und den Mann aussetzen. +Da ein betrunkener Mann auf einem Flug ausfallend wurde, musste das Flugzeug auf einer kleinen Insel zwischenlanden und den Mann aussetzen. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-strip.xml b/docs/de/designers/language-modifiers/language-modifier-strip.xml new file mode 100644 index 00000000..d3d682aa --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-strip.xml @@ -0,0 +1,51 @@ + + + + strip (Zeichenkette strippen) + + Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen + oder eine alternative Zeichenkette. + + + Achtung + + Falls Sie ganze Blöcke eines Templates 'strippen' möchten, + verwenden Sie dazu strip. + + + +strip (Zeichenkette strippen) + +{$artikelTitel} +{$artikelTitel|strip} +{$artikelTitel|strip:"&nbsp;"} + +AUSGABE: + +Ein 18 Jahre alter Pappkarton + erzielte bei Ebay einen Erlös von + 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war. +Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war. +Ein&nbsp;18&nbsp;Jahre&nbsp;alter&nbsp;Pappkarton&nbsp;erzielte&nbsp;bei&nbsp;Ebay&nbsp;einen&nbsp;Erlös&nbsp;von&nbsp;536&nbsp;Dollar.&nbsp;Es&nbsp;war&nbsp;der&nbsp;Karton,&nbsp;in&nbsp;dem&nbsp;der&nbsp;erste&nbsp;Apple&nbsp;verpackt&nbsp;war. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-truncate.xml b/docs/de/designers/language-modifiers/language-modifier-truncate.xml new file mode 100644 index 00000000..96502077 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-truncate.xml @@ -0,0 +1,96 @@ + + + + truncate (kürzen) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + integer + Nein + 80 + Länge, auf die die Zeichenkette gekürzt werden soll. + + + 2 + string + Nein + ... + An die gekürzte Zeichenkette anzuhängende Zeichenkette. + + + 3 + boolean + Nein + false + Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen. + + + + + + Kürzt die Variable auf eine definierte Länge. Standardwert sind 80 Zeichen. + Als optionaler zweiter Parameter kann eine Zeichenkette übergeben werden, welche + der gekürzten Variable angehängt wird. Diese zusätzliche Zeichenkette + wird bei der Berechnung der Länge berücksichtigt. Normalerweise wird + 'truncate' versuchen, die Zeichenkette zwischen zwei Wörtern umzubrechen. Um die + Zeichenkette exakt an der definierten Position abzuscheiden, + können sie als dritten Parameter 'true' übergeben. + + +truncate (kürzen) + +{$artikelTitel} +{$artikelTitel|truncate} +{$artikelTitel|truncate:30} +{$artikelTitel|truncate:30:""} +{$artikelTitel|truncate:30:"---"} +{$artikelTitel|truncate:30:"":true} +{$artikelTitel|truncate:30:"...":true} + +AUSGABE: + +George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen. +George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen. +George W. Bush will die frei... +George W. Bush will die frei +George W. Bush will die frei--- +George W. Bush will die frei +George W. Bush will die fr... + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-upper.xml b/docs/de/designers/language-modifiers/language-modifier-upper.xml new file mode 100644 index 00000000..7ddad257 --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-upper.xml @@ -0,0 +1,39 @@ + + + + upper (in Grossbuchstaben umwandeln) + + Wandelt eine Zeichenkette in Grossbuchstaben um. + + +upper (in Grossbuchstaben umwandeln) + +{$artikelTitel} +{$artikelTitel|upper} + +AUSGABE: + +Ein 58jähriger Belgier ist nach 35 Jahren zum Sieger der Weltmeisterschaft im Querfeldeinrennen 1967 erklärt worden - Grund: Ein damaliger Formfehler. +EIN 58JÄHRIGER BELGIER IST NACH 35 JAHREN ZUM SIEGER DER WELTMEISTERSCHAFT IM QUERFELDEINRENNEN 1967 ERKLÄRT WORDEN - GRUND: EIN DAMALIGER FORMFEHLER. + + + \ No newline at end of file diff --git a/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml new file mode 100644 index 00000000..6b135b2b --- /dev/null +++ b/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml @@ -0,0 +1,108 @@ + + + + wordwrap (Zeilenumbruch) + + + + + + + + + + Parameter Position + Typ + Erforderlich + Standardwert + Beschreibung + + + + + 1 + integer + Nein + 80 + Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette. + + + 2 + string + Nein + \n + Definiert das zu verwendende Zeichen. + + + 3 + boolean + Nein + false + Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true). + + + + + + Bricht eine Zeichenkette an einer definierten Stelle (Standardwert 80) um. + Als optionaler zweiter Parameter kann das Zeichen übergeben werden, + welches zum Umbrechen verwendet werden soll (Standardwert '\n'). Normalerweise + bricht wordwrap nur zwischen zwei Wörtern um. Falls Sie exakt an der + definierten Stelle umbrechen wollen, übergeben + Sie als optionalen dritten Parameter 'true'. + + +wordwrap (Zeilenumbruch) + +{$artikelTitel} + +{$artikelTitel|wordwrap:75} + +{$artikelTitel|wordwrap:50} + +{$artikelTitel|wordwrap:75:"<br>\n"} + +{$artikelTitel|wordwrap:75:"\n":true} + +AUSGABE: + +Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz danach zurück, um die Hose umzutauschen, weil die Grösse nicht passte. + +Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz +danach zurück, um die Hose umzutauschen, weil die Grösse nicht +passte. + +Eine Frau stahl in einem Bekleidungsgeschäft +eine Hose und kam kurz danach zurück, um die +Hose umzutauschen, weil die Grösse nicht +passte. + +Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz<br> +danach zurück, um die Hose umzutauschen, weil die Grösse nicht<br> +passte. + +Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz d +anach zurück, um die Hose umzutauschen, weil die Grösse nicht pass +te. + + + \ No newline at end of file diff --git a/docs/de/designers/language-variables.xml b/docs/de/designers/language-variables.xml index a5cc42e9..f821bcbe 100644 --- a/docs/de/designers/language-variables.xml +++ b/docs/de/designers/language-variables.xml @@ -20,201 +20,10 @@ <body bgcolor="{#bgcolor#}"> - - Aus einem PHP-Skript zugewiesene Variablen - - Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen $ - versehen werden. - - +&designers.language-variables.language-assigned-variables; +&designers.language-variables.language-config-variables; - zugewiesene Variablen - -Hallo {$vorname}, schön dass Du wieder da bist. -<p> -Letzer zugriff: {$lastLoginDate}. - -AUSGABE: - -Hallo Andreas, schön dass Du wieder da bist. -<p> -Letzer Zugriff: January 11th, 2001. - - - - Assoziative Arrays - - Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen, - indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren. - - -Zugriff auf Variablen eines assoziativen Arrays - -{$Kontakte.fax}<br> -{$Kontakte.email}<br> -{* auch multidimensionale Arrays können so angesprochen werden *} -{$Kontakte.telefon.privat}<br> -{$Kontakte.telefon.mobil}<br> - -AUSGABE: - -555-222-9876<br> -zaphod@slartibartfast.com<br> -555-444-3333<br> -555-111-1234<br> - - - - - Array Index - - Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden. - - -Zugriff über den Array Index - -{$Kontakte[0]}<br> -{$Kontakte[1]}<br> -{* auch hier sind multidimensionale Arrays möglich *} -{$Kontakte[0][0]}<br> -{$Kontakte[0][1]}<br> - - - - Objekte - - Attribute von aus PHP zugewiesenen Objekten können - über das '->'-Symbol erreicht werden. - - -Zugriff auf Objekt-Attribute - -name: {$person->name}<br> -email: {$person->email}<br> - -AUSGABE: - -name: Zaphod Beeblebrox<br> -email: zaphod@slartibartfast.com<br> - - - - - Verwendung von Variablen aus Konfigurationsdateien - - Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit - umschliessenden '#'-Zeichen (Raute). - - - -Konfigurationsvariablen - -<html> -<title>{#seitenTitel#}</title> -<body bgcolor="{#bodyHintergrundFarbe#}"> -<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> -<tr bgcolor="{#reiheHintergrundFarbe#}"> - <td>Vornamen</td> - <td>Nachnamen</td> - <td>Adresse</td> -</tr> -</table> -</body> -</html> - - - Variablen aus Konfigurationsdateien können erst verwendet werden, - wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt - config_load weiter unten näher erläutert. - - - - - Die reservierte {$smarty} Variable - - Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen - zuzugreifen. Im Folgenden die Liste der Variablen: - - - - Request-Variablen - - Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session' - kann wie folgt zugegriffen werden: - - - - Ausgabe der Requestvariablen (Anfragevariablen) - -{* anzeigen der variable 'page' aus der URL oder dem FORM, welche mit GET übertragen wurde *} -{$smarty.get.page} - -{* anzeigen der variable 'page' welche mit POST übertragen wurde *} -{$smarty.post.page} - -{* anzeigen des cookies "benutzer" *} -{$smarty.cookies.benutzer} - -{* anzeigen der Server-Variable "SERVER_NAME" *} -{$smarty.server.SERVER_NAME} - -{* anzeigen der Environment-Variable "PATH" *} -{$smarty.env.PATH} - -{* anzeigen der Session-Variable "id" *} -{$smarty.session.id} - -{* anzeigen der Variable "benutzer" aus dem $_REQUEST Array (Zusammenstellung von get/post/cookie/server/env) *} -{$smarty.request.benutzer} - - - - - - {$smarty.now} - - Die momentane Unix-Timestamp kann über {$smarty.now} angefragt werden. - Diese Zahl ist die Summe der verstrichenen Sekunden seit Beginn der UNIX-Epoche - (1. Januar 1970) und kann zur Anzeige direkt dem 'date_format'-Modifikator - übergeben werden. - - - -Verwendung von {$smarty.now} - -{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *} -{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} - - - - - {$smarty.capture} - - Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann - via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt - zu capture. - - - - - {$smarty.section}, {$smarty.foreach} - - {$smarty} wird auch verwendet, um auf Eigenschaften von - 'section' und 'foreach' Schleifen zuzugreifen. Weitere - Informationen dazu finden sie in der Dokumentation - von section - und foreach. - - - - - {$smarty.template} - - Diese Variable enthält den Namen des gerade verarbeiteten Templates. - - - - +&designers.language-variables.language-variables-smarty; + + Aus einem PHP-Skript zugewiesene Variablen + + Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen $ + versehen werden. + + + + zugewiesene Variablen + +Hallo {$vorname}, schön dass Du wieder da bist. +<p> +Letzer zugriff: {$lastLoginDate}. + +AUSGABE: + +Hallo Andreas, schön dass Du wieder da bist. +<p> +Letzer Zugriff: January 11th, 2001. + + + + Assoziative Arrays + + Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen, + indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren. + + +Zugriff auf Variablen eines assoziativen Arrays + +{$Kontakte.fax}<br> +{$Kontakte.email}<br> +{* auch multidimensionale Arrays können so angesprochen werden *} +{$Kontakte.telefon.privat}<br> +{$Kontakte.telefon.mobil}<br> + +AUSGABE: + +555-222-9876<br> +zaphod@slartibartfast.com<br> +555-444-3333<br> +555-111-1234<br> + + + + + Array Index + + Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden. + + +Zugriff über den Array Index + +{$Kontakte[0]}<br> +{$Kontakte[1]}<br> +{* auch hier sind multidimensionale Arrays möglich *} +{$Kontakte[0][0]}<br> +{$Kontakte[0][1]}<br> + + + + Objekte + + Attribute von aus PHP zugewiesenen Objekten können + über das '->'-Symbol erreicht werden. + + +Zugriff auf Objekt-Attribute + +name: {$person->name}<br> +email: {$person->email}<br> + +AUSGABE: + +name: Zaphod Beeblebrox<br> +email: zaphod@slartibartfast.com<br> + + + + \ No newline at end of file diff --git a/docs/de/designers/language-variables/language-config-variables.xml b/docs/de/designers/language-variables/language-config-variables.xml new file mode 100644 index 00000000..6eddda5b --- /dev/null +++ b/docs/de/designers/language-variables/language-config-variables.xml @@ -0,0 +1,51 @@ + + + + Verwendung von Variablen aus Konfigurationsdateien + + Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit + umschliessenden '#'-Zeichen (Raute). + + + +Konfigurationsvariablen + +<html> +<title>{#seitenTitel#}</title> +<body bgcolor="{#bodyHintergrundFarbe#}"> +<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}"> +<tr bgcolor="{#reiheHintergrundFarbe#}"> + <td>Vornamen</td> + <td>Nachnamen</td> + <td>Adresse</td> +</tr> +</table> +</body> +</html> + + + Variablen aus Konfigurationsdateien können erst verwendet werden, + wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt + config_load weiter unten näher erläutert. + + + \ No newline at end of file diff --git a/docs/de/designers/language-variables/language-variables-smarty.xml b/docs/de/designers/language-variables/language-variables-smarty.xml new file mode 100644 index 00000000..9e88b96d --- /dev/null +++ b/docs/de/designers/language-variables/language-variables-smarty.xml @@ -0,0 +1,108 @@ + + + + Die reservierte {$smarty} Variable + + Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen + zuzugreifen. Im Folgenden die Liste der Variablen: + + + + Request-Variablen + + Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session' + kann wie folgt zugegriffen werden: + + + + Ausgabe der Requestvariablen (Anfragevariablen) + +{* anzeigen der variable 'page' aus der URL oder dem FORM, welche mit GET übertragen wurde *} +{$smarty.get.page} + +{* anzeigen der variable 'page' welche mit POST übertragen wurde *} +{$smarty.post.page} + +{* anzeigen des cookies "benutzer" *} +{$smarty.cookies.benutzer} + +{* anzeigen der Server-Variable "SERVER_NAME" *} +{$smarty.server.SERVER_NAME} + +{* anzeigen der Environment-Variable "PATH" *} +{$smarty.env.PATH} + +{* anzeigen der Session-Variable "id" *} +{$smarty.session.id} + +{* anzeigen der Variable "benutzer" aus dem $_REQUEST Array (Zusammenstellung von get/post/cookie/server/env) *} +{$smarty.request.benutzer} + + + + + + {$smarty.now} + + Die momentane Unix-Timestamp kann über {$smarty.now} angefragt werden. + Diese Zahl ist die Summe der verstrichenen Sekunden seit Beginn der UNIX-Epoche + (1. Januar 1970) und kann zur Anzeige direkt dem 'date_format'-Modifikator + übergeben werden. + + + +Verwendung von {$smarty.now} + +{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *} +{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} + + + + + {$smarty.capture} + + Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann + via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt + zu capture. + + + + + {$smarty.section}, {$smarty.foreach} + + {$smarty} wird auch verwendet, um auf Eigenschaften von + 'section' und 'foreach' Schleifen zuzugreifen. Weitere + Informationen dazu finden sie in der Dokumentation + von section + und foreach. + + + + + {$smarty.template} + + Diese Variable enthält den Namen des gerade verarbeiteten Templates. + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-basic-syntax.xml b/docs/en/designers/language-basic-syntax.xml index 3e813810..ed1bc4ed 100644 --- a/docs/en/designers/language-basic-syntax.xml +++ b/docs/en/designers/language-basic-syntax.xml @@ -15,216 +15,15 @@ place. - - Comments - - Template comments are surrounded by asterisks, and that is surrounded - by the delimiter tags like so: {* this is a comment *} - Smarty comments are not displayed in the final output of the template. - They are used for making internal notes in the templates. - - - Comments - - -{html_options values=$vals selected=$selected output=$output} - -]]> - - - - - - Functions - - Each Smarty tag either prints a - variable or invokes some sort - of function. Functions are processed and displayed by enclosing the - function and its attributes into delimiters like so: {funcname - attr1="val" attr2="val"}. - - - function syntax - -{$name}! -{else} - Welcome, {$name}! -{/if} - -{include file="footer.tpl"} -]]> - - - - Both built-in functions and custom functions have the same syntax in - the templates. Built-in functions are the inner workings of Smarty, - such as if, section and - strip. They cannot be modified. Custom functions are - additional functions implemented via plugins. They can be modified to - your liking, or you can add new ones. html_options and - html_select_date are examples of custom functions. - - - - - Attributes - - Most of the functions take attributes that specify or modify - their behavior. Attributes to Smarty functions are much like HTML - attributes. Static values don't have to be enclosed in quotes, but it - is recommended for literal strings. Variables may also be used, and - should not be in quotes. - - - Some attributes require boolean values (true or false). These can be - specified as either unquoted true, - on, and yes, or - false, off, and - no. - - - function attribute syntax - - -{html_options values=$vals selected=$selected output=$output} - -]]> - - - - - Embedding Vars in Double Quotes - - Smarty will recognize assigned variables embedded in double quotes so long - as the variables contain only numbers, letters, underscores and brackets - []. With any other characters (period, object reference, etc.) the variable - must be surrounded by backticks. - - - embedded quotes syntax - - - - - - - Math - - Math can be applied directly to variable values. - - - math examples - -bar-$bar[1]*$baz->foo->bar()-3*7} - -{if ($foo+$bar.test%$baz*134232+10+$b+10)} - -{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} - -{assign var="foo" value="`$foo+$bar`"} -]]> - - - - - - Escaping Smarty Parsing - - It is sometimes desirable or even necessary to have Smarty ignore sections it - would otherwise parse. A classic example is embedding Javascript or CSS code in - a template. The problem arises as those languages use the { and } characters - which are also the default delimiters for Smarty. - - - - The simplest thing is to avoid the situation altogether by separating your Javascript - and CSS code into their own files and then using standard HTML methods to access them. - - - - Including literal content is possible using {literal} .. {/literal} blocks. - Similar to HTML entity usage, you can use {ldelim} and {rdelim} to display the current delimiters. - - - - It is often convenient to simply change Smarty's $left_delimiter and - $right_delimiter. - - - changing delimiters example - -left_delimiter = ''; -$smarty->assign('foo', 'bar'); -$smarty->display('example.tpl'); - -?> - ---- example.tpl - -]]> - - - +&designers.language-basic-syntax.language-escaping; + + Escaping Smarty Parsing + + It is sometimes desirable or even necessary to have Smarty ignore sections it + would otherwise parse. A classic example is embedding Javascript or CSS code in + a template. The problem arises as those languages use the { and } characters + which are also the default delimiters for Smarty. + + + + The simplest thing is to avoid the situation altogether by separating your Javascript + and CSS code into their own files and then using standard HTML methods to access them. + + + + Including literal content is possible using {literal} .. {/literal} blocks. + Similar to HTML entity usage, you can use {ldelim} and {rdelim} to display the current delimiters. + + + + It is often convenient to simply change Smarty's $left_delimiter and + $right_delimiter. + + + changing delimiters example + +left_delimiter = ''; +$smarty->assign('foo', 'bar'); +$smarty->display('example.tpl'); + +?> + +--- example.tpl + +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-basic-syntax/language-math.xml b/docs/en/designers/language-basic-syntax/language-math.xml new file mode 100644 index 00000000..f1719deb --- /dev/null +++ b/docs/en/designers/language-basic-syntax/language-math.xml @@ -0,0 +1,48 @@ + + + + Math + + Math can be applied directly to variable values. + + + math examples + +bar-$bar[1]*$baz->foo->bar()-3*7} + +{if ($foo+$bar.test%$baz*134232+10+$b+10)} + +{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} + +{assign var="foo" value="`$foo+$bar`"} +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml new file mode 100644 index 00000000..69f5b712 --- /dev/null +++ b/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml @@ -0,0 +1,57 @@ + + + + Attributes + + Most of the functions take attributes that specify or modify + their behavior. Attributes to Smarty functions are much like HTML + attributes. Static values don't have to be enclosed in quotes, but it + is recommended for literal strings. Variables may also be used, and + should not be in quotes. + + + Some attributes require boolean values (true or false). These can be + specified as either unquoted true, + on, and yes, or + false, off, and + no. + + + function attribute syntax + + +{html_options values=$vals selected=$selected output=$output} + +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-basic-syntax/language-syntax-comments.xml b/docs/en/designers/language-basic-syntax/language-syntax-comments.xml new file mode 100644 index 00000000..33889335 --- /dev/null +++ b/docs/en/designers/language-basic-syntax/language-syntax-comments.xml @@ -0,0 +1,51 @@ + + + + Comments + + Template comments are surrounded by asterisks, and that is surrounded + by the delimiter tags like so: {* this is a comment *} + Smarty comments are not displayed in the final output of the template. + They are used for making internal notes in the templates. + + + Comments + + +{html_options values=$vals selected=$selected output=$output} + +]]> + + + + diff --git a/docs/en/designers/language-basic-syntax/language-syntax-functions.xml b/docs/en/designers/language-basic-syntax/language-syntax-functions.xml new file mode 100644 index 00000000..78f7a6c5 --- /dev/null +++ b/docs/en/designers/language-basic-syntax/language-syntax-functions.xml @@ -0,0 +1,59 @@ + + + + Functions + + Each Smarty tag either prints a + variable or invokes some sort + of function. Functions are processed and displayed by enclosing the + function and its attributes into delimiters like so: {funcname + attr1="val" attr2="val"}. + + + function syntax + +{$name}! +{else} + Welcome, {$name}! +{/if} + +{include file="footer.tpl"} +]]> + + + + Both built-in functions and custom functions have the same syntax in + the templates. Built-in functions are the inner workings of Smarty, + such as if, section and + strip. They cannot be modified. Custom functions are + additional functions implemented via plugins. They can be modified to + your liking, or you can add new ones. html_options and + html_select_date are examples of custom functions. + + + \ No newline at end of file diff --git a/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml new file mode 100644 index 00000000..0cb824d4 --- /dev/null +++ b/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml @@ -0,0 +1,49 @@ + + + + Embedding Vars in Double Quotes + + Smarty will recognize assigned variables embedded in double quotes so long + as the variables contain only numbers, letters, underscores and brackets + []. With any other characters (period, object reference, etc.) the variable + must be surrounded by backticks. + + + embedded quotes syntax + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions.xml b/docs/en/designers/language-builtin-functions.xml index a2ef81db..888a1486 100644 --- a/docs/en/designers/language-builtin-functions.xml +++ b/docs/en/designers/language-builtin-functions.xml @@ -7,1578 +7,18 @@ are integral to the template language. You cannot create custom functions with the same names, nor can you modify built-in functions. - - capture - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - no - default - The name of the captured block - - - assign - string - No - n/a - The variable name where to assign the captured output to - - - - - - capture is used to collect the output of the template into a - variable instead of displaying it. Any content between {capture - name="foo"} and {/capture} is collected into the variable specified - in the name attribute. The captured content can be used in the - template from the special variable $smarty.capture.foo where foo is - the value passed in the name attribute. If you do not supply a name - attribute, then "default" will be used. All {capture} commands must - be paired with {/capture}. You can nest capture commands. - - - Technical Note - - Smarty 1.4.0 - 1.4.4 placed the captured content into the - variable named $return. As of 1.4.5, this behavior was changed to use - the name attribute, so update your templates accordingly. - - - - - Be careful when capturing insert output. If - you have caching turned on and you have insert - commands that you expect to run within cached content, do not - capture this content. - - - - - capturing template content - -{* we don't want to print a table row unless content is displayed *} -{capture name=banner} -{include file="get_banner.tpl"} -{/capture} -{if $smarty.capture.banner ne ""} - <tr> - <td> - {$smarty.capture.banner} - </td> - </tr> -{/if} - - - - - config_load - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - file - string - Yes - n/a - The name of the config file to include - - - section - string - No - n/a - The name of the section to load - - - scope - string - no - local - - How the scope of the loaded variables are treated, - which must be one of local, parent or global. local - means variables are loaded into the local template - context. parent means variables are loaded into both - the local context and the parent template that called - it. global means variables are available to all - templates. - - - - global - boolean - No - No - - Whether or not variables are visible to the parent - template, same as scope=parent. NOTE: This attribute is - deprecated by the scope attribute, but still supported. - If scope is supplied, this value is ignored. - - - - - - - This function is used for loading in variables from a - configuration file into the template. - See Config Files for more - info. - - -function config_load - - -{config_load file="colors.conf"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - Config files may also contain sections. You can load variables from - within a section with the added attribute - section. - - - NOTE: Config file sections and the built-in - template function called section have nothing - to do with each other, they just happen to share a common naming - convention. - - -function config_load with section - -{config_load file="colors.conf" section="Customer"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - - foreach,foreachelse - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - from - string - Yes - n/a - The name of the array you are looping through - - - item - string - Yes - n/a - The name of the variable that is the current - element - - - key - string - No - n/a - The name of the variable that is the current key - - - name - string - No - n/a - The name of the foreach loop for accessing - foreach properties - - - - - - foreach loops are an alternative to - section loops. foreach is - used to loop over a single associative array. The syntax for - foreach is much easier than - section, but as a tradeoff it can only be used - for a single array. foreach tags must be - paired with /foreach tags. Required parameters - are from and item. The - name of the foreach loop can be anything you like, made up of - letters, numbers and underscores. foreach - loops can be nested, and the nested foreach names must be unique - from each other. The from variable (usually an - array of values) determines the number of times - foreach will loop. - foreachelse is executed when there are no - values in the from variable. - - -foreach - - -{* this example will print out all the values of the $custid array *} -{foreach from=$custid item=curr_id} - id: {$curr_id}<br> -{/foreach} - -OUTPUT: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -foreach key - -{* The key contains the key for each looped value - -assignment looks like this: - -$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); - -*} - -{foreach name=outer item=contact from=$contacts} - {foreach key=key item=item from=$contact} - {$key}: {$item}<br> - {/foreach} -{/foreach} - -OUTPUT: - -phone: 1<br> -fax: 2<br> -cell: 3<br> -phone: 555-4444<br> -fax: 555-3333<br> -cell: 760-1234<br> - - - - Foreach-loops also have their own variables that handle foreach properties. - These are indicated like so: {$smarty.foreach.foreachname.varname} with - foreachname being the name specified as the name - attribute of foreach - - - - - iteration - - iteration is used to display the current loop iteration. - - - Iteration always starts with 1 and is incremented by one - one each iteration. - - - - - first - - first is set to true if the current foreach iteration is the first - one. - - - - - last - - last is set to true if the current foreach iteration is the last - one. - - - - - show - - show is used as a parameter to foreach. - show is a boolean value, true or false. If - false, the foreach will not be displayed. If there is a foreachelse - present, that will be alternately displayed. - - - - - total - - total is used to display the number of iterations that this foreach - will loop. This can be used inside or after the foreach. - - - - - - - - - - include - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - file - string - Yes - n/a - The name of the template file to include - - - assign - string - No - n/a - The name of the variable that the output of - include will be assigned to - - - [var ...] - [var type] - No - n/a - variable to pass local to template - - - - - - Include tags are used for including other templates in the current - template. Any variables available in the current template are also - available within the included template. The include tag must have - the attribute "file", which contains the template resource path. - - - You can optionally pass the assign attribute, - which will specify a template variable name that the output of - include will be assigned to instead of - displayed. - - -function include - -{include file="header.tpl"} - -{* body of template goes here *} - -{include file="footer.tpl"} - - - You can also pass variables to included templates as attributes. - Any variables explicitly passed to an included template as - attributes are only available within the scope of the included - file. Attribute variables override current template variables, in - the case they are named alike. - - -function include passing variables - -{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} - -{* body of template goes here *} - -{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} - - - Use the syntax for template resources to - include files outside of the $template_dir directory. - - -function include template resource examples - -{* absolute filepath *} -{include file="/usr/local/include/templates/header.tpl"} - -{* absolute filepath (same thing) *} -{include file="file:/usr/local/include/templates/header.tpl"} - -{* windows absolute filepath (MUST use "file:" prefix) *} -{include file="file:C:/www/pub/templates/header.tpl"} - -{* include from template resource named "db" *} -{include file="db:header.tpl"} - - - - include_php - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - file - string - Yes - n/a - The name of the php file to include - - - once - boolean - No - true - whether or not to include the php file more than - once if included multiple times - - - assign - string - No - n/a - The name of the variable that the output of - include_php will be assigned to - - - - - - Technical Note - - include_php is pretty much deprecated from Smarty, you can - accomplish the same functionality via a custom template function. - The only reason to use include_php is if you really have a need to - quarantine the php function away from the plugin directory or your - application code. See the componentized template - example for details. - - - - include_php tags are used to include a php script in your template. - If security is enabled, then the php script must be located in the - $trusted_dir path. The include_php tag must have the attribute - "file", which contains the path to the included php file, either - relative to $trusted_dir, or an absolute path. - - - include_php is a nice way to handle componentized templates, and - keep PHP code separate from the template files. Lets say you have a - template that shows your site navigation, which is pulled - dynamically from a database. You can keep your PHP logic that grabs - database content in a separate directory, and include it at the top - of the template. Now you can include this template anywhere without - worrying if the database information was assigned by the application - before hand. - - - By default, php files are only included once even if called - multiple times in the template. You can specify that it should be - included every time with the once attribute. - Setting once to false will include the php script each time it is - included in the template. - - - You can optionally pass the assign attribute, - which will specify a template variable name that the output of - include_php will be assigned to instead of - displayed. - - - The smarty object is available as $this within the PHP script that you - include. - - -function include_php - -load_nav.php -------------- - -<?php - - // load in variables from a mysql db and assign them to the template - require_once("MySQL.class.php"); - $sql = new MySQL; - $sql->query("select * from site_nav_sections order by name",SQL_ALL); - $this->assign('sections',$sql->record); - -?> - - -index.tpl ---------- - -{* absolute path, or relative to $trusted_dir *} -{include_php file="/path/to/load_nav.php"} - -{foreach item="curr_section" from=$sections} - <a href="{$curr_section.url}">{$curr_section.name}</a><br> -{/foreach} - - - - insert - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - Yes - n/a - The name of the insert function (insert_name) - - - assign - string - No - n/a - The name of the template variable the output will - be assigned to - - - script - string - No - n/a - The name of the php script that is included before - the insert function is called - - - [var ...] - [var type] - No - n/a - variable to pass to insert function - - - - - - Insert tags work much like include tags, except that insert tags - are not cached when you have template caching enabled. They will be - executed on every invocation of the template. - - - Let's say you have a template with a banner slot at the top of - the page. The banner can contain any mixture of HTML, images, - flash, etc. so we can't just use a static link here, and we - don't want this contents cached with the page. In comes the - insert tag: the template knows #banner_location_id# and - #site_id# values (gathered from a config file), and needs to - call a function to get the banner contents. - - -function insert - -{* example of fetching a banner *} -{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - - - In this example, we are using the name "getBanner" and passing the - parameters #banner_location_id# and #site_id#. Smarty will look - for a function named insert_getBanner() in your PHP application, passing - the values of #banner_location_id# and #site_id# as the first argument - in an associative array. All insert function names in - your application must be prepended with "insert_" to remedy possible - function name-space conflicts. Your insert_getBanner() function should - do something with the passed values and return the results. These results - are then displayed in the template in place of the insert tag. - In this example, Smarty would call this function: - insert_getBanner(array("lid" => "12345","sid" => "67890")); - and display the returned results in place of the insert tag. - - - If you supply the "assign" attribute, the output of the insert tag - will be assigned to this template variable instead of being output - to the template. NOTE: assigning the output to a template variable - isn't too useful with caching enabled. - - - If you supply the "script" attribute, this php script will be - included (only once) before the insert function is executed. This - is the case where the insert function may not exist yet, and a php - script must be included first to make it work. The path can be - either absolute, or relative to $trusted_dir. When security is - enabled, the script must reside in $trusted_dir. - - - The Smarty object is passed as the second argument. This way you - can reference and modify information in the Smarty object from - within the insert function. - - - Technical Note - - It is possible to have portions of the template not - cached. If you have caching - turned on, insert tags will not be cached. They will run - dynamically every time the page is created, even within cached - pages. This works good for things like banners, polls, live - weather, search results, user feedback areas, etc. - - - - - if,elseif,else - - {if} statements in Smarty have much the same flexibility as PHP if - statements, with a few added features for the template engine. - Every {if} must be paired with an - {/if}. {else} and - {elseif} are also permitted. All PHP conditionals - are recognized, such as ||, or, - &&, and, etc. - - - - The following is a list of recognized qualifiers, which must be - separated from surrounding elements by spaces. Note that items listed - in [brackets] are optional. PHP equivalents are shown where applicable. - - - - - - - - - - - - Qualifier - Alternates - Syntax Example - Meaning - PHP Equivalent - - - - - == - eq - $a eq $b - equals - == - - - != - ne, neq - $a neq $b - not equals - != - - - > - gt - $a gt $b - greater than - > - - - < - lt - $a lt $b - less than - < - - - >= - gte, ge - $a ge $b - greater than or equal - >= - - - <= - lte, le - $a le $b - less than or equal - <= - - - ! - not - not $a - negation (unary) - ! - - - % - mod - $a mod $b - modulous - % - - - is [not] div by - - $a is not div by 4 - divisible by - $a % $b == 0 - - - is [not] even - - $a is not even - [not] an even number (unary) - $a % 2 == 0 - - - is [not] even by - - $a is not even by $b - grouping level [not] even - ($a / $b) % 2 == 0 - - - is [not] odd - - $a is not odd - [not] an odd number (unary) - $a % 2 != 0 - - - is [not] odd by - - $a is not odd by $b - [not] an odd grouping - ($a / $b) % 2 != 0 - - - - - -if statements - -{if $name eq "Fred"} - Welcome Sir. -{elseif $name eq "Wilma"} - Welcome Ma'am. -{else} - Welcome, whatever you are. -{/if} - -{* an example with "or" logic *} -{if $name eq "Fred" or $name eq "Wilma"} - ... -{/if} - -{* same as above *} -{if $name == "Fred" || $name == "Wilma"} - ... -{/if} - -{* the following syntax will NOT work, conditional qualifiers - must be separated from surrounding elements by spaces *} -{if $name=="Fred" || $name=="Wilma"} - ... -{/if} - - -{* parenthesis are allowed *} -{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#} - ... -{/if} - -{* you can also embed php function calls *} -{if count($var) gt 0} - ... -{/if} - -{* test if values are even or odd *} -{if $var is even} - ... -{/if} -{if $var is odd} - ... -{/if} -{if $var is not odd} - ... -{/if} - -{* test if var is divisible by 4 *} -{if $var is div by 4} - ... -{/if} - -{* test if var is even, grouped by two. i.e., -0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *} -{if $var is even by 2} - ... -{/if} - -{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} -{if $var is even by 3} - ... -{/if} - - - - ldelim,rdelim - - ldelim and rdelim are used for displaying the literal delimiter, in - our case "{" or "}". The template engine always tries to interpret - delimiters, so this is the way around that. - - -ldelim, rdelim - -{* this will print literal delimiters out of the template *} - -{ldelim}funcname{rdelim} is how functions look in Smarty! - - -OUTPUT: - -{funcname} is how functions look in Smarty! - - - - literal - - Literal tags allow a block of data to be taken literally, - not being interpreted by the Smarty engine. This is handy - for things like javascript sections, where there maybe - curly braces and such things that would confuse the template - parser. Anything within {literal}{/literal} tags is not - interpreted, but displayed as-is. - - -literal tags - -{literal} - <script language=javascript> - - <!-- - function isblank(field) { - if (field.value == '') - { return false; } - else - { - document.loginform.submit(); - return true; - } - } - // --> - - </script> -{/literal} - - - - php - - php tags allow php to be embedded directly into the template. They - will not be escaped, regardless of the $php_handling setting. This - is for advanced users only, not normally needed. - - -php tags - -{php} - // including a php script directly - // from the template. - include("/path/to/display_weather.php"); -{/php} - - - - section,sectionelse - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - Yes - n/a - The name of the section - - - loop - [$variable_name] - Yes - n/a - The name of the variable to determine # of loop - iterations - - - start - integer - No - 0 The index - position that the section will begin looping. If the - value is negative, the start position is calculated - from the end of the array. For example, if there are - seven values in the loop array and start is -2, the - start index is 5. Invalid values (values outside of the - length of the loop array) are automatically truncated - to the closest valid value. - - - step - integer - No - 1 - The step value that will be used to traverse the - loop array. For example, step=2 will loop on index - 0,2,4, etc. If step is negative, it will step through - the array backwards. - - - max - integer - No - 1 - Sets the maximum number of times the section - will loop. - - - show - boolean - No - true - determines whether or not to show this section - - - - - - Template sections are used for looping over arrays of data. All - section tags must be paired with - /section tags. Required parameters are - name and loop. The name - of the section can be anything you like, made up of letters, - numbers and underscores. Sections can be nested, and the nested - section names must be unique from each other. The loop variable - (usually an array of values) determines the number of times the - section will loop. When printing a variable within a section, the - section name must be given next to variable name within brackets - []. sectionelse is - executed when there are no values in the loop variable. - - -section - - -{* this example will print out all the values of the $custid array *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{/section} - -OUTPUT: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -section loop variable - -{* the loop variable only determines the number of times to loop. - you can access any variable from the template within the section. - This example assumes that $custid, $name and $address are all - arrays containing the same number of values *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - <p> -{/section} - - -OUTPUT: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -<p> - - - -section names - -{* the name of the section can be anything you like, - and it is used to reference the data within the section *} -{section name=mydata loop=$custid} - id: {$custid[mydata]}<br> - name: {$name[mydata]}<br> - address: {$address[mydata]}<br> - <p> -{/section} - - - -nested sections - -{* sections can be nested as deep as you like. With nested sections, - you can access complex data structures, such as multi-dimensional - arrays. In this example, $contact_type[customer] is an array of - contact types for the current customer. *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - {section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> - {/section} - <p> -{/section} - - -OUTPUT: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: john@mydomain.com<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<br> -<p> - - - -sections and associative arrays - -{* This is an example of printing an associative array - of data within a section *} -{section name=customer loop=$contacts} - name: {$contacts[customer].name}<br> - home: {$contacts[customer].home}<br> - cell: {$contacts[customer].cell}<br> - e-mail: {$contacts[customer].email}<p> -{/section} - - -OUTPUT: - -name: John Smith<br> -home: 555-555-5555<br> -cell: 555-555-5555<br> -e-mail: john@mydomain.com<p> -name: Jack Jones<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<p> -name: Jane Munson<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<p> - - - - - -sectionelse - -{* sectionelse will execute if there are no $custid values *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{sectionelse} - there are no values in $custid. -{/section} - - - Sections also have their own variables that handle section properties. - These are indicated like so: {$smarty.section.sectionname.varname} - - - NOTE: As of Smarty 1.5.0, the syntax for section property variables has - been changed from {%sectionname.varname%} to - {$smarty.section.sectionname.varname}. The old syntax is still - supported, but you will only see reference to the new syntax in the - manual examples. - - - index - - index is used to display the current loop index, starting with zero - (or the start attribute if given), and incrementing by one (or by - the step attribute if given.) - - - Technical Note - - If the step and start section properties are not - modified, then this works the same as the iteration section - property, except it starts on 0 instead of 1. - - - - section property index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - - OUTPUT: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - - - - index_prev - - index_prev is used to display the previous loop index. - on the first loop, this is set to -1. - - - section property index_prev - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_prev] ne $custid[customer.index]} - The customer id changed<br> - {/if} - {/section} - - - OUTPUT: - - 0 id: 1000<br> - The customer id changed<br> - 1 id: 1001<br> - The customer id changed<br> - 2 id: 1002<br> - The customer id changed<br> - - - - - index_next - - index_next is used to display the next loop index. On the last - loop, this is still one more than the current index (respecting the - setting of the step attribute, if given.) - - - section property index_next - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - OUTPUT: - - 0 id: 1000<br> - The customer id will change<br> - 1 id: 1001<br> - The customer id will change<br> - 2 id: 1002<br> - The customer id will change<br> - - - - - iteration - - iteration is used to display the current loop iteration. - - - NOTE: This is not affected by the section properties start, step and - max, unlike the index property. Iteration also starts with 1 - instead of 0 like index. rownum is an alias to iteration, they work - identical. - - - section property iteration - - {section name=customer loop=$custid start=5 step=2} - current loop iteration: {$smarty.section.customer.iteration}<br> - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - OUTPUT: - - current loop iteration: 1 - 5 id: 1000<br> - The customer id will change<br> - current loop iteration: 2 - 7 id: 1001<br> - The customer id will change<br> - current loop iteration: 3 - 9 id: 1002<br> - The customer id will change<br> - - - - - first - - first is set to true if the current section iteration is the first - one. - - - section property first - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - OUTPUT: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - last - - last is set to true if the current section iteration is the last - one. - - - section property last - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - OUTPUT: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - rownum - - rownum is used to display the current loop iteration, - starting with one. It is an alias to iteration, they work - identically. - - - section property rownum - - {section name=customer loop=$custid} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - - OUTPUT: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - - - - loop - - loop is used to display the last index number that this section - looped. This can be used inside or after the section. - - - section property index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.loop} customers shown above. - - OUTPUT: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - There were 3 customers shown above. - - - - - show - - show is used as a parameter to section. - show is a boolean value, true or false. If - false, the section will not be displayed. If there is a sectionelse - present, that will be alternately displayed. - - - section attribute show - - {* $show_customer_info may have been passed from the PHP - application, to regulate whether or not this section shows *} - {section name=customer loop=$custid show=$show_customer_info} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - {if $smarty.section.customer.show} - the section was shown. - {else} - the section was not shown. - {/if} - - - OUTPUT: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - the section was shown. - - - - - total - - total is used to display the number of iterations that this section - will loop. This can be used inside or after the section. - - - section property total - - {section name=customer loop=$custid step=2} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.total} customers shown above. - - OUTPUT: - - 0 id: 1000<br> - 2 id: 1001<br> - 4 id: 1002<br> - - There were 3 customers shown above. - - - - - - strip - - Many times web designers run into the issue where white space and - carriage returns affect the output of the rendered HTML (browser - "features"), so you must run all your tags together in the template - to get the desired results. This usually ends up in unreadable or - unmanageable templates. - - - Anything within {strip}{/strip} tags in Smarty are stripped of the - extra spaces or carriage returns at the beginnings and ends of the - lines before they are displayed. This way you can keep your - templates readable, and not worry about extra white space causing - problems. - - - Technical Note - - {strip}{/strip} does not affect the contents of template variables. - See the strip modifier - function. - - - -strip tags - -{* the following will be all run into one line upon output *} -{strip} -<table border=0> - <tr> - <td> - <A HREF="{$url}"> - <font color="red">This is a test</font> - </A> - </td> - </tr> -</table> -{/strip} - - -OUTPUT: - -<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> - - - Notice that in the above example, all the lines begin and end - with HTML tags. Be aware that all the lines are run together. - If you have plain text at the beginning or end of any line, - they will be run together, and may not be desired results. - - +&designers.language-builtin-functions.language-function-capture; +&designers.language-builtin-functions.language-function-config-load; +&designers.language-builtin-functions.language-function-foreach; +&designers.language-builtin-functions.language-function-include; +&designers.language-builtin-functions.language-function-include-php; +&designers.language-builtin-functions.language-function-insert; +&designers.language-builtin-functions.language-function-if; +&designers.language-builtin-functions.language-function-ldelim; +&designers.language-builtin-functions.language-function-literal; +&designers.language-builtin-functions.language-function-php; +&designers.language-builtin-functions.language-function-section; +&designers.language-builtin-functions.language-function-strip; + + capture + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + no + default + The name of the captured block + + + assign + string + No + n/a + The variable name where to assign the captured output to + + + + + + capture is used to collect the output of the template into a + variable instead of displaying it. Any content between {capture + name="foo"} and {/capture} is collected into the variable specified + in the name attribute. The captured content can be used in the + template from the special variable $smarty.capture.foo where foo is + the value passed in the name attribute. If you do not supply a name + attribute, then "default" will be used. All {capture} commands must + be paired with {/capture}. You can nest capture commands. + + + Technical Note + + Smarty 1.4.0 - 1.4.4 placed the captured content into the + variable named $return. As of 1.4.5, this behavior was changed to use + the name attribute, so update your templates accordingly. + + + + + Be careful when capturing insert output. If + you have caching turned on and you have insert + commands that you expect to run within cached content, do not + capture this content. + + + + + capturing template content + +{* we don't want to print a table row unless content is displayed *} +{capture name=banner} +{include file="get_banner.tpl"} +{/capture} +{if $smarty.capture.banner ne ""} + <tr> + <td> + {$smarty.capture.banner} + </td> + </tr> +{/if} + + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-config-load.xml b/docs/en/designers/language-builtin-functions/language-function-config-load.xml new file mode 100644 index 00000000..76645045 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-config-load.xml @@ -0,0 +1,140 @@ + + + + config_load + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + The name of the config file to include + + + section + string + No + n/a + The name of the section to load + + + scope + string + no + local + + How the scope of the loaded variables are treated, + which must be one of local, parent or global. local + means variables are loaded into the local template + context. parent means variables are loaded into both + the local context and the parent template that called + it. global means variables are available to all + templates. + + + + global + boolean + No + No + + Whether or not variables are visible to the parent + template, same as scope=parent. NOTE: This attribute is + deprecated by the scope attribute, but still supported. + If scope is supplied, this value is ignored. + + + + + + + This function is used for loading in variables from a + configuration file into the template. + See Config Files for more + info. + + +function config_load + + +{config_load file="colors.conf"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + Config files may also contain sections. You can load variables from + within a section with the added attribute + section. + + + NOTE: Config file sections and the built-in + template function called section have nothing + to do with each other, they just happen to share a common naming + convention. + + +function config_load with section + +{config_load file="colors.conf" section="Customer"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-foreach.xml b/docs/en/designers/language-builtin-functions/language-function-foreach.xml new file mode 100644 index 00000000..3d953651 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-foreach.xml @@ -0,0 +1,194 @@ + + + + foreach,foreachelse + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + from + string + Yes + n/a + The name of the array you are looping through + + + item + string + Yes + n/a + The name of the variable that is the current + element + + + key + string + No + n/a + The name of the variable that is the current key + + + name + string + No + n/a + The name of the foreach loop for accessing + foreach properties + + + + + + foreach loops are an alternative to + section loops. foreach is + used to loop over a single associative array. The syntax for + foreach is much easier than + section, but as a tradeoff it can only be used + for a single array. foreach tags must be + paired with /foreach tags. Required parameters + are from and item. The + name of the foreach loop can be anything you like, made up of + letters, numbers and underscores. foreach + loops can be nested, and the nested foreach names must be unique + from each other. The from variable (usually an + array of values) determines the number of times + foreach will loop. + foreachelse is executed when there are no + values in the from variable. + + +foreach + + +{* this example will print out all the values of the $custid array *} +{foreach from=$custid item=curr_id} + id: {$curr_id}<br> +{/foreach} + +OUTPUT: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +foreach key + +{* The key contains the key for each looped value + +assignment looks like this: + +$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), + array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); + +*} + +{foreach name=outer item=contact from=$contacts} + {foreach key=key item=item from=$contact} + {$key}: {$item}<br> + {/foreach} +{/foreach} + +OUTPUT: + +phone: 1<br> +fax: 2<br> +cell: 3<br> +phone: 555-4444<br> +fax: 555-3333<br> +cell: 760-1234<br> + + + + Foreach-loops also have their own variables that handle foreach properties. + These are indicated like so: {$smarty.foreach.foreachname.varname} with + foreachname being the name specified as the name + attribute of foreach + + + + + iteration + + iteration is used to display the current loop iteration. + + + Iteration always starts with 1 and is incremented by one + one each iteration. + + + + + first + + first is set to true if the current foreach iteration is the first + one. + + + + + last + + last is set to true if the current foreach iteration is the last + one. + + + + + show + + show is used as a parameter to foreach. + show is a boolean value, true or false. If + false, the foreach will not be displayed. If there is a foreachelse + present, that will be alternately displayed. + + + + + total + + total is used to display the number of iterations that this foreach + will loop. This can be used inside or after the foreach. + + + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-if.xml b/docs/en/designers/language-builtin-functions/language-function-if.xml new file mode 100644 index 00000000..40cb170e --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-if.xml @@ -0,0 +1,217 @@ + + + + if,elseif,else + + {if} statements in Smarty have much the same flexibility as PHP if + statements, with a few added features for the template engine. + Every {if} must be paired with an + {/if}. {else} and + {elseif} are also permitted. All PHP conditionals + are recognized, such as ||, or, + &&, and, etc. + + + + The following is a list of recognized qualifiers, which must be + separated from surrounding elements by spaces. Note that items listed + in [brackets] are optional. PHP equivalents are shown where applicable. + + + + + + + + + + + + Qualifier + Alternates + Syntax Example + Meaning + PHP Equivalent + + + + + == + eq + $a eq $b + equals + == + + + != + ne, neq + $a neq $b + not equals + != + + + > + gt + $a gt $b + greater than + > + + + < + lt + $a lt $b + less than + < + + + >= + gte, ge + $a ge $b + greater than or equal + >= + + + <= + lte, le + $a le $b + less than or equal + <= + + + ! + not + not $a + negation (unary) + ! + + + % + mod + $a mod $b + modulous + % + + + is [not] div by + + $a is not div by 4 + divisible by + $a % $b == 0 + + + is [not] even + + $a is not even + [not] an even number (unary) + $a % 2 == 0 + + + is [not] even by + + $a is not even by $b + grouping level [not] even + ($a / $b) % 2 == 0 + + + is [not] odd + + $a is not odd + [not] an odd number (unary) + $a % 2 != 0 + + + is [not] odd by + + $a is not odd by $b + [not] an odd grouping + ($a / $b) % 2 != 0 + + + + + +if statements + +{if $name eq "Fred"} + Welcome Sir. +{elseif $name eq "Wilma"} + Welcome Ma'am. +{else} + Welcome, whatever you are. +{/if} + +{* an example with "or" logic *} +{if $name eq "Fred" or $name eq "Wilma"} + ... +{/if} + +{* same as above *} +{if $name == "Fred" || $name == "Wilma"} + ... +{/if} + +{* the following syntax will NOT work, conditional qualifiers + must be separated from surrounding elements by spaces *} +{if $name=="Fred" || $name=="Wilma"} + ... +{/if} + + +{* parenthesis are allowed *} +{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#} + ... +{/if} + +{* you can also embed php function calls *} +{if count($var) gt 0} + ... +{/if} + +{* test if values are even or odd *} +{if $var is even} + ... +{/if} +{if $var is odd} + ... +{/if} +{if $var is not odd} + ... +{/if} + +{* test if var is divisible by 4 *} +{if $var is div by 4} + ... +{/if} + +{* test if var is even, grouped by two. i.e., +0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *} +{if $var is even by 2} + ... +{/if} + +{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} +{if $var is even by 3} + ... +{/if} + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-include-php.xml b/docs/en/designers/language-builtin-functions/language-function-include-php.xml new file mode 100644 index 00000000..bcc583bd --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-include-php.xml @@ -0,0 +1,141 @@ + + + + include_php + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + The name of the php file to include + + + once + boolean + No + true + whether or not to include the php file more than + once if included multiple times + + + assign + string + No + n/a + The name of the variable that the output of + include_php will be assigned to + + + + + + Technical Note + + include_php is pretty much deprecated from Smarty, you can + accomplish the same functionality via a custom template function. + The only reason to use include_php is if you really have a need to + quarantine the php function away from the plugin directory or your + application code. See the componentized template + example for details. + + + + include_php tags are used to include a php script in your template. + If security is enabled, then the php script must be located in the + $trusted_dir path. The include_php tag must have the attribute + "file", which contains the path to the included php file, either + relative to $trusted_dir, or an absolute path. + + + include_php is a nice way to handle componentized templates, and + keep PHP code separate from the template files. Lets say you have a + template that shows your site navigation, which is pulled + dynamically from a database. You can keep your PHP logic that grabs + database content in a separate directory, and include it at the top + of the template. Now you can include this template anywhere without + worrying if the database information was assigned by the application + before hand. + + + By default, php files are only included once even if called + multiple times in the template. You can specify that it should be + included every time with the once attribute. + Setting once to false will include the php script each time it is + included in the template. + + + You can optionally pass the assign attribute, + which will specify a template variable name that the output of + include_php will be assigned to instead of + displayed. + + + The smarty object is available as $this within the PHP script that you + include. + + +function include_php + +load_nav.php +------------- + +<?php + + // load in variables from a mysql db and assign them to the template + require_once("MySQL.class.php"); + $sql = new MySQL; + $sql->query("select * from site_nav_sections order by name",SQL_ALL); + $this->assign('sections',$sql->record); + +?> + + +index.tpl +--------- + +{* absolute path, or relative to $trusted_dir *} +{include_php file="/path/to/load_nav.php"} + +{foreach item="curr_section" from=$sections} + <a href="{$curr_section.url}">{$curr_section.name}</a><br> +{/foreach} + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-include.xml b/docs/en/designers/language-builtin-functions/language-function-include.xml new file mode 100644 index 00000000..4202fe86 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-include.xml @@ -0,0 +1,124 @@ + + + + include + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + The name of the template file to include + + + assign + string + No + n/a + The name of the variable that the output of + include will be assigned to + + + [var ...] + [var type] + No + n/a + variable to pass local to template + + + + + + Include tags are used for including other templates in the current + template. Any variables available in the current template are also + available within the included template. The include tag must have + the attribute "file", which contains the template resource path. + + + You can optionally pass the assign attribute, + which will specify a template variable name that the output of + include will be assigned to instead of + displayed. + + +function include + +{include file="header.tpl"} + +{* body of template goes here *} + +{include file="footer.tpl"} + + + You can also pass variables to included templates as attributes. + Any variables explicitly passed to an included template as + attributes are only available within the scope of the included + file. Attribute variables override current template variables, in + the case they are named alike. + + +function include passing variables + +{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} + +{* body of template goes here *} + +{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} + + + Use the syntax for template resources to + include files outside of the $template_dir directory. + + +function include template resource examples + +{* absolute filepath *} +{include file="/usr/local/include/templates/header.tpl"} + +{* absolute filepath (same thing) *} +{include file="file:/usr/local/include/templates/header.tpl"} + +{* windows absolute filepath (MUST use "file:" prefix) *} +{include file="file:C:/www/pub/templates/header.tpl"} + +{* include from template resource named "db" *} +{include file="db:header.tpl"} + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-insert.xml b/docs/en/designers/language-builtin-functions/language-function-insert.xml new file mode 100644 index 00000000..660686a5 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-insert.xml @@ -0,0 +1,140 @@ + + + + insert + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + Yes + n/a + The name of the insert function (insert_name) + + + assign + string + No + n/a + The name of the template variable the output will + be assigned to + + + script + string + No + n/a + The name of the php script that is included before + the insert function is called + + + [var ...] + [var type] + No + n/a + variable to pass to insert function + + + + + + Insert tags work much like include tags, except that insert tags + are not cached when you have template caching enabled. They will be + executed on every invocation of the template. + + + Let's say you have a template with a banner slot at the top of + the page. The banner can contain any mixture of HTML, images, + flash, etc. so we can't just use a static link here, and we + don't want this contents cached with the page. In comes the + insert tag: the template knows #banner_location_id# and + #site_id# values (gathered from a config file), and needs to + call a function to get the banner contents. + + +function insert + +{* example of fetching a banner *} +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} + + + In this example, we are using the name "getBanner" and passing the + parameters #banner_location_id# and #site_id#. Smarty will look + for a function named insert_getBanner() in your PHP application, passing + the values of #banner_location_id# and #site_id# as the first argument + in an associative array. All insert function names in + your application must be prepended with "insert_" to remedy possible + function name-space conflicts. Your insert_getBanner() function should + do something with the passed values and return the results. These results + are then displayed in the template in place of the insert tag. + In this example, Smarty would call this function: + insert_getBanner(array("lid" => "12345","sid" => "67890")); + and display the returned results in place of the insert tag. + + + If you supply the "assign" attribute, the output of the insert tag + will be assigned to this template variable instead of being output + to the template. NOTE: assigning the output to a template variable + isn't too useful with caching enabled. + + + If you supply the "script" attribute, this php script will be + included (only once) before the insert function is executed. This + is the case where the insert function may not exist yet, and a php + script must be included first to make it work. The path can be + either absolute, or relative to $trusted_dir. When security is + enabled, the script must reside in $trusted_dir. + + + The Smarty object is passed as the second argument. This way you + can reference and modify information in the Smarty object from + within the insert function. + + + Technical Note + + It is possible to have portions of the template not + cached. If you have caching + turned on, insert tags will not be cached. They will run + dynamically every time the page is created, even within cached + pages. This works good for things like banners, polls, live + weather, search results, user feedback areas, etc. + + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-ldelim.xml b/docs/en/designers/language-builtin-functions/language-function-ldelim.xml new file mode 100644 index 00000000..71e3dca3 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-ldelim.xml @@ -0,0 +1,42 @@ + + + + ldelim,rdelim + + ldelim and rdelim are used for displaying the literal delimiter, in + our case "{" or "}". The template engine always tries to interpret + delimiters, so this is the way around that. + + +ldelim, rdelim + +{* this will print literal delimiters out of the template *} + +{ldelim}funcname{rdelim} is how functions look in Smarty! + + +OUTPUT: + +{funcname} is how functions look in Smarty! + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-literal.xml b/docs/en/designers/language-builtin-functions/language-function-literal.xml new file mode 100644 index 00000000..7d81d041 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-literal.xml @@ -0,0 +1,54 @@ + + + + literal + + Literal tags allow a block of data to be taken literally, + not being interpreted by the Smarty engine. This is handy + for things like javascript sections, where there maybe + curly braces and such things that would confuse the template + parser. Anything within {literal}{/literal} tags is not + interpreted, but displayed as-is. + + +literal tags + +{literal} + <script language=javascript> + + <!-- + function isblank(field) { + if (field.value == '') + { return false; } + else + { + document.loginform.submit(); + return true; + } + } + // --> + + </script> +{/literal} + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-php.xml b/docs/en/designers/language-builtin-functions/language-function-php.xml new file mode 100644 index 00000000..f9556962 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-php.xml @@ -0,0 +1,40 @@ + + + + php + + php tags allow php to be embedded directly into the template. They + will not be escaped, regardless of the $php_handling setting. This + is for advanced users only, not normally needed. + + +php tags + +{php} + // including a php script directly + // from the template. + include("/path/to/display_weather.php"); +{/php} + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-section.xml b/docs/en/designers/language-builtin-functions/language-function-section.xml new file mode 100644 index 00000000..dd9247dc --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-section.xml @@ -0,0 +1,568 @@ + + + + section,sectionelse + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + Yes + n/a + The name of the section + + + loop + [$variable_name] + Yes + n/a + The name of the variable to determine # of loop + iterations + + + start + integer + No + 0 The index + position that the section will begin looping. If the + value is negative, the start position is calculated + from the end of the array. For example, if there are + seven values in the loop array and start is -2, the + start index is 5. Invalid values (values outside of the + length of the loop array) are automatically truncated + to the closest valid value. + + + step + integer + No + 1 + The step value that will be used to traverse the + loop array. For example, step=2 will loop on index + 0,2,4, etc. If step is negative, it will step through + the array backwards. + + + max + integer + No + 1 + Sets the maximum number of times the section + will loop. + + + show + boolean + No + true + determines whether or not to show this section + + + + + + Template sections are used for looping over arrays of data. All + section tags must be paired with + /section tags. Required parameters are + name and loop. The name + of the section can be anything you like, made up of letters, + numbers and underscores. Sections can be nested, and the nested + section names must be unique from each other. The loop variable + (usually an array of values) determines the number of times the + section will loop. When printing a variable within a section, the + section name must be given next to variable name within brackets + []. sectionelse is + executed when there are no values in the loop variable. + + +section + + +{* this example will print out all the values of the $custid array *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{/section} + +OUTPUT: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +section loop variable + +{* the loop variable only determines the number of times to loop. + you can access any variable from the template within the section. + This example assumes that $custid, $name and $address are all + arrays containing the same number of values *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + <p> +{/section} + + +OUTPUT: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +<p> + + + +section names + +{* the name of the section can be anything you like, + and it is used to reference the data within the section *} +{section name=mydata loop=$custid} + id: {$custid[mydata]}<br> + name: {$name[mydata]}<br> + address: {$address[mydata]}<br> + <p> +{/section} + + + +nested sections + +{* sections can be nested as deep as you like. With nested sections, + you can access complex data structures, such as multi-dimensional + arrays. In this example, $contact_type[customer] is an array of + contact types for the current customer. *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> + {/section} + <p> +{/section} + + +OUTPUT: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: john@mydomain.com<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<br> +<p> + + + +sections and associative arrays + +{* This is an example of printing an associative array + of data within a section *} +{section name=customer loop=$contacts} + name: {$contacts[customer].name}<br> + home: {$contacts[customer].home}<br> + cell: {$contacts[customer].cell}<br> + e-mail: {$contacts[customer].email}<p> +{/section} + + +OUTPUT: + +name: John Smith<br> +home: 555-555-5555<br> +cell: 555-555-5555<br> +e-mail: john@mydomain.com<p> +name: Jack Jones<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<p> +name: Jane Munson<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<p> + + + + + +sectionelse + +{* sectionelse will execute if there are no $custid values *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{sectionelse} + there are no values in $custid. +{/section} + + + Sections also have their own variables that handle section properties. + These are indicated like so: {$smarty.section.sectionname.varname} + + + NOTE: As of Smarty 1.5.0, the syntax for section property variables has + been changed from {%sectionname.varname%} to + {$smarty.section.sectionname.varname}. The old syntax is still + supported, but you will only see reference to the new syntax in the + manual examples. + + + index + + index is used to display the current loop index, starting with zero + (or the start attribute if given), and incrementing by one (or by + the step attribute if given.) + + + Technical Note + + If the step and start section properties are not + modified, then this works the same as the iteration section + property, except it starts on 0 instead of 1. + + + + section property index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + + OUTPUT: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + + + + index_prev + + index_prev is used to display the previous loop index. + on the first loop, this is set to -1. + + + section property index_prev + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_prev] ne $custid[customer.index]} + The customer id changed<br> + {/if} + {/section} + + + OUTPUT: + + 0 id: 1000<br> + The customer id changed<br> + 1 id: 1001<br> + The customer id changed<br> + 2 id: 1002<br> + The customer id changed<br> + + + + + index_next + + index_next is used to display the next loop index. On the last + loop, this is still one more than the current index (respecting the + setting of the step attribute, if given.) + + + section property index_next + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + OUTPUT: + + 0 id: 1000<br> + The customer id will change<br> + 1 id: 1001<br> + The customer id will change<br> + 2 id: 1002<br> + The customer id will change<br> + + + + + iteration + + iteration is used to display the current loop iteration. + + + NOTE: This is not affected by the section properties start, step and + max, unlike the index property. Iteration also starts with 1 + instead of 0 like index. rownum is an alias to iteration, they work + identical. + + + section property iteration + + {section name=customer loop=$custid start=5 step=2} + current loop iteration: {$smarty.section.customer.iteration}<br> + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + OUTPUT: + + current loop iteration: 1 + 5 id: 1000<br> + The customer id will change<br> + current loop iteration: 2 + 7 id: 1001<br> + The customer id will change<br> + current loop iteration: 3 + 9 id: 1002<br> + The customer id will change<br> + + + + + first + + first is set to true if the current section iteration is the first + one. + + + section property first + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + OUTPUT: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + last + + last is set to true if the current section iteration is the last + one. + + + section property last + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + OUTPUT: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + rownum + + rownum is used to display the current loop iteration, + starting with one. It is an alias to iteration, they work + identically. + + + section property rownum + + {section name=customer loop=$custid} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + + OUTPUT: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + + + + loop + + loop is used to display the last index number that this section + looped. This can be used inside or after the section. + + + section property index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.loop} customers shown above. + + OUTPUT: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + There were 3 customers shown above. + + + + + show + + show is used as a parameter to section. + show is a boolean value, true or false. If + false, the section will not be displayed. If there is a sectionelse + present, that will be alternately displayed. + + + section attribute show + + {* $show_customer_info may have been passed from the PHP + application, to regulate whether or not this section shows *} + {section name=customer loop=$custid show=$show_customer_info} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + {if $smarty.section.customer.show} + the section was shown. + {else} + the section was not shown. + {/if} + + + OUTPUT: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + the section was shown. + + + + + total + + total is used to display the number of iterations that this section + will loop. This can be used inside or after the section. + + + section property total + + {section name=customer loop=$custid step=2} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.total} customers shown above. + + OUTPUT: + + 0 id: 1000<br> + 2 id: 1001<br> + 4 id: 1002<br> + + There were 3 customers shown above. + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-builtin-functions/language-function-strip.xml b/docs/en/designers/language-builtin-functions/language-function-strip.xml new file mode 100644 index 00000000..40959fa3 --- /dev/null +++ b/docs/en/designers/language-builtin-functions/language-function-strip.xml @@ -0,0 +1,74 @@ + + + + strip + + Many times web designers run into the issue where white space and + carriage returns affect the output of the rendered HTML (browser + "features"), so you must run all your tags together in the template + to get the desired results. This usually ends up in unreadable or + unmanageable templates. + + + Anything within {strip}{/strip} tags in Smarty are stripped of the + extra spaces or carriage returns at the beginnings and ends of the + lines before they are displayed. This way you can keep your + templates readable, and not worry about extra white space causing + problems. + + + Technical Note + + {strip}{/strip} does not affect the contents of template variables. + See the strip modifier + function. + + + +strip tags + +{* the following will be all run into one line upon output *} +{strip} +<table border=0> + <tr> + <td> + <A HREF="{$url}"> + <font color="red">This is a test</font> + </A> + </td> + </tr> +</table> +{/strip} + + +OUTPUT: + +<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> + + + Notice that in the above example, all the lines begin and end + with HTML tags. Be aware that all the lines are run together. + If you have plain text at the beginning or end of any line, + they will be run together, and may not be desired results. + + + \ No newline at end of file diff --git a/docs/en/designers/language-combining-modifiers.xml b/docs/en/designers/language-combining-modifiers.xml index 5b20199b..5def7b42 100644 --- a/docs/en/designers/language-combining-modifiers.xml +++ b/docs/en/designers/language-combining-modifiers.xml @@ -53,4 +53,4 @@ End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 ---> \ No newline at end of file +--> diff --git a/docs/en/designers/language-custom-functions.xml b/docs/en/designers/language-custom-functions.xml index bf54d15a..3eb109f8 100644 --- a/docs/en/designers/language-custom-functions.xml +++ b/docs/en/designers/language-custom-functions.xml @@ -6,2669 +6,24 @@ Smarty comes with several custom functions that you can use in the templates. - - assign - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - var - string - Yes - n/a - The name of the variable being assigned - - - value - string - Yes - n/a - The value being assigned - - - - - - assign is used for assigning template variables during the execution - of the template. - - -assign - -{assign var="name" value="Bob"} - -The value of $name is {$name}. - -OUTPUT: - -The value of $name is Bob. - - - - counter - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - No - default - The name of the counter - - - start - number - No - 1 - The initial number to start counting from - - - skip - number - No - 1 - The interval to count by - - - direction - string - No - up - the direction to count (up/down) - - - print - boolean - No - true - Whether or not to print the value - - - assign - string - No - n/a - the template variable the output will be assigned - to - - - - - - counter is used to print out a count. counter will remember the - count on each iteration. You can adjust the number, the interval - and the direction of the count, as well as determine whether or not - to print the value. You can run multiple counters concurrently by - supplying a unique name for each one. If you do not supply a name, - the name 'default' will be used. - - - If you supply the special "assign" attribute, the output of the - counter function will be assigned to this template variable instead of - being output to the template. - - -counter - -{* initialize the count *} -{counter start=0 skip=2}<br> -{counter}<br> -{counter}<br> -{counter}<br> - -OUTPUT: - -0<br> -2<br> -4<br> -6<br> - - - - cycle - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - No - default - The name of the cycle - - - values - mixed - Yes - N/A - The values to cycle through, either a comma - delimited list (see delimiter attribute), or an array - of values. - - - print - boolean - No - true - Whether to print the value or not - - - advance - boolean - No - true - Whether or not to advance to the next value - - - delimiter - string - No - , - The delimiter to use in the values attribute. - - - assign - string - No - n/a - the template variable the output will be assigned - to - - - - - - Cycle is used to cycle though a set of values. This makes it easy - to alternate between two or more colors in a table, or cycle - through an array of values. - - - You can cycle through more than one set of values in your template - by supplying a name attribute. Give each set of values a unique - name. - - - You can force the current value not to print with the print - attribute set to false. This would be useful for silently skipping - a value. - - - The advance attribute is used to repeat a value. When set to false, - the next call to cycle will print the same value. - - - If you supply the special "assign" attribute, the output of the - cycle function will be assigned to this template variable instead of - being output to the template. - - -cycle - -{section name=rows loop=$data} -<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> - <td>{$data[rows]}</td> -</tr> -{/section} - -OUTPUT: - -<tr bgcolor="#eeeeee"> - <td>1</td> -</tr> -<tr bgcolor="#d0d0d0"> - <td>2</td> -</tr> -<tr bgcolor="#eeeeee"> - <td>3</td> -</tr> - - - - - debug - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - output - string - No - html - output type, html or javascript - - - - - - {debug} dumps the debug console to the page. This works regardless - of the debug - settings in Smarty. Since this gets executed at runtime, this is - only able to show the assigned variables, not the templates that - are in use. But, you see all the currently available variables - within the scope of this template. - - - - eval - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - var - mixed - Yes - n/a - variable (or string) to evaluate - - - assign - string - No - n/a - the template variable the output will be assigned - to - - - - - - eval is used to evaluate a variable as a template. This can be used - for things like embedding template tags/variables into variables or - tags/variables into config file variables. - - - If you supply the special "assign" attribute, the output of the - eval function will be assigned to this template variable instead of - being output to the template. - - - Technical Note - - Evaluated variables are treated the same as templates. They follow - the same escapement and security features just as if they were - templates. - - - - Technical Note - - Evaluated variables are compiled on every invocation, the compiled - versions are not saved! However if you have caching enabled, the - output will be cached with the rest of the template. - - - -eval - -setup.conf ----------- - -emphstart = <b> -emphend = </b> -title = Welcome to {$company}'s home page! -ErrorCity = You must supply a {#emphstart#}city{#emphend#}. -ErrorState = You must supply a {#emphstart#}state{#emphend#}. - - -index.tpl ---------- - -{config_load file="setup.conf"} - -{eval var=$foo} -{eval var=#title#} -{eval var=#ErrorCity#} -{eval var=#ErrorState# assign="state_error"} -{$state_error} - -OUTPUT: - -This is the contents of foo. -Welcome to Foobar Pub & Grill's home page! -You must supply a <b>city</b>. -You must supply a <b>state</b>. - - - - - - fetch - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - file - string - Yes - n/a - the file, http or ftp site to fetch - - - assign - string - No - n/a - the template variable the output will be assigned - to - - - - - - fetch is used to fetch files from the local file system, http, or - ftp and display the contents. If the file name begins with - "http://", the web site page will be fetched and displayed. If the - file name begins with "ftp://", the file will be fetched from the - ftp server and displayed. For local files, the full system file - path must be given, or a path relative to the executed php script. - - - If you supply the special "assign" attribute, the output of the - fetch function will be assigned to this template variable instead of - being output to the template. (new in Smarty 1.5.0) - - - Technical Note - - This will not support http redirects, be sure to - include a trailing slash on your web page fetches where necessary. - - - - Technical Note - - If template security is turned on and you are - fetching a file from the local file system, this will only allow - files from within one of the defined secure directories. - ($secure_dir) - - - -fetch - -{* include some javascript in your template *} -{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} - -{* embed some weather text in your template from another web site *} -{fetch file="http://www.myweather.com/68502/"} - -{* fetch a news headline file via ftp *} -{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} - -{* assign the fetched contents to a template variable *} -{fetch file="http://www.myweather.com/68502/" assign="weather"} -{if $weather ne ""} - <b>{$weather}</b> -{/if} - - - - html_checkboxes - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - No - checkbox - name of checkbox list - - - values - array - Yes, unless using options attribute - n/a - an array of values for checkbox buttons - - - output - array - Yes, unless using options attribute - n/a - an array of output for checkbox buttons - - - selected - string/array - No - empty - the selected checkbox element(s) - - - options - associative array - Yes, unless using values and output - n/a - an associative array of values and output - - - separator - string - No - empty - string of text to separate each checkbox item - - - labels - boolean - No - true - add <label>-tags to the output - - - - - - html_checkboxes is a custom function that creates an html checkbox - group with provided data. It takes care of which item(s) are - selected by default as well. Required attributes are values and - output, unless you use options instead. All output is XHTML - compatible. - - - All parameters that are not in the list above are printed as - name/value-pairs inside each of the created <input>-tags. - - -html_checkboxes - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_checkboxes', array( - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"} - - -OUTPUT: (both examples) - -<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br /> -<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br /> -<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br /> -<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br /> - - - - html_image - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - file - string - Yes - n/a - name/path to image - - - border - string - No - 0 - size of border around image - - - height - string - No - actual image height - height to display image - - - width - string - No - actual image width - width to display image - - - basedir - string - no - web server doc root - directory to base relative paths from - - - alt - string - no - "" - alternative description of the image - - - href - string - no - n/a - href value to link the image to - - - - - - html_image is a custom function that generates an HTML tag for an - image. The height and width are automatically calculated from the - image file if none are supplied. - - - basedir is the base directory that relative image paths are based - from. If not given, the web server document root (env variable - DOCUMENT_ROOT) is used as the base. If security is enabled, the - path to the image must be within a secure directory. - - - href is the href value to link the image to. If link is supplied, an - <a href="LINKVALUE"><a> tag is put around the image tag. - - - Technical Note - - html_image requires a hit to the disk to read the image and - calculate the height and width. If you don't use template - caching, it is generally better to avoid html_image and leave - image tags static for optimal performance. - - - - html_image example - -display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - - - - a possible output would be: - - - - - -]]> - - - - - html_options - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - values - array - Yes, unless using options attribute - n/a - an array of values for dropdown - - - output - array - Yes, unless using options attribute - n/a - an array of output for dropdown - - - selected - string/array - No - empty - the selected option element(s) - - - options - associative array - Yes, unless using values and output - n/a - an associative array of values and output - - - name - string - No - empty - name of select group - - - - - - html_options is a custom function that creates html option group - with provided data. It takes care of which item(s) are selected by - default as well. Required attributes are values and output, unless - you use options instead. - - - If a given value is an array, it will treat it as an html OPTGROUP, - and display the groups. Recursion is supported with OPTGROUP. All - output is XHTML compatible. - - - If the optional name attribute is given, the - <select name="groupname"></select> tags will enclose - the option list. Otherwise only the option list is generated. - - - All parameters that are not in the list above are printed as - name/value-pairs inside the <select>-tag. They are ignored if - the optional name is not given. - - -html_options - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options values=$cust_ids selected=$customer_id output=$cust_names} -</select> - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_options', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options options=$cust_options selected=$customer_id} -</select> - - -OUTPUT: (both examples) - -<select name=customer_id> - <option value="1000">Joe Schmoe</option> - <option value="1001" selected="selected">Jack Smith</option> - <option value="1002">Jane Johnson</option> - <option value="1003">Charlie Brown</option> -</select> - - - - html_radios - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - name - string - No - radio - name of radio list - - - values - array - Yes, unless using options attribute - n/a - an array of values for radio buttons - - - output - array - Yes, unless using options attribute - n/a - an array of output for radio buttons - - - selected - string - No - empty - the selected radio element - - - options - associative array - Yes, unless using values and output - n/a - an associative array of values and output - - - separator - string - No - empty - string of text to separate each radio item - - - - - - html_radios is a custom function that creates html radio button - group with provided data. It takes care of which item is selected - by default as well. Required attributes are values and output, - unless you use options instead. All output is XHTML compatible. - - - All parameters that are not in the list above are printed as - name/value-pairs inside each of the created <input>-tags. - - - -html_radios - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_radios', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"} - - -OUTPUT: (both examples) - -<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> -<input type="radio" name="id[]" value="1001" checked="checked"><br /> -<input type="radio" name="id[]" value="1002">Jane Johnson<br /> -<input type="radio" name="id[]" value="1003">Charlie Brown<br /> - - - - html_select_date - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - prefix - string - No - Date_ - what to prefix the var name with - - - time - timestamp/YYYY-MM-DD - No - current time in unix timestamp or YYYY-MM-DD - format - what date/time to use - - - start_year - string - No - current year - the first year in the dropdown, either - year number, or relative to current year (+/- N) - - - end_year - string - No - same as start_year - the last year in the dropdown, either - year number, or relative to current year (+/- N) - - - display_days - boolean - No - true - whether to display days or not - - - display_months - boolean - No - true - whether to display months or not - - - display_years - boolean - No - true - whether to display years or not - - - month_format - string - No - %B - what format the month should be in (strftime) - - - day_format - string - No - %02d - what format the day output should be in (sprintf) - - - day_value_format - string - No - %d - what format the day value should be in (sprintf) - - - year_as_text - boolean - No - false - whether or not to display the year as text - - - reverse_years - boolean - No - false - display years in reverse order - - - field_array - string - No - null - - if a name is given, the select boxes will be drawn - such that the results will be returned to PHP in the - form of name[Day], name[Year], name[Month]. - - - - day_size - string - No - null - adds size attribute to select tag if given - - - month_size - string - No - null - adds size attribute to select tag if given - - - year_size - string - No - null - adds size attribute to select tag if given - - - all_extra - string - No - null - adds extra attributes to all select/input tags if - given - - - day_extra - string - No - null - adds extra attributes to select/input tags if - given - - - month_extra - string - No - null - adds extra attributes to select/input tags if - given - - - year_extra - string - No - null - adds extra attributes to select/input tags if - given - - - field_order - string - No - MDY - the order in which to display the fields - - - field_separator - string - No - \n - string printed between different fields - - - month_value_format - string - No - %m - strftime format of the month values, default is - %m for month numbers. - - - year_empty - string - No - null - If supplied then the first element of the year's select-box has this - value as it's label and "" as it's value. This is useful to make the - select-box read "Please select a year" for example. - - - day_empty - string - No - null - If supplied then the first element of the day's select-box has this - value as it's label and "" as it's value. - - - month_empty - string - No - null - If supplied then the first element of the month's select-box has this - value as it's label and "" as it's value. . - - - - - - html_select_date is a custom function that creates date dropdowns - for you. It can display any or all of year, month, and day. - - -html_select_date - -{html_select_date} - - -OUTPUT: - -<select name="Date_Month"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="Date_Day"> -<option value="1">01</option> -<option value="2">02</option> -<option value="3">03</option> -<option value="4">04</option> -<option value="5">05</option> -<option value="6">06</option> -<option value="7">07</option> -<option value="8">08</option> -<option value="9">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13" selected>13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -</select> -<select name="Date_Year"> -<option value="2001" selected>2001</option> -</select> - - - - -html_select_date - - -{* start and end year can be relative to current year *} -{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} - -OUTPUT: (current year is 2000) - -<select name="StartDateMonth"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="StartDateYear"> -<option value="1999">1995</option> -<option value="1999">1996</option> -<option value="1999">1997</option> -<option value="1999">1998</option> -<option value="1999">1999</option> -<option value="2000" selected>2000</option> -<option value="2001">2001</option> -</select> - - - - html_select_time - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - prefix - string - No - Time_ - what to prefix the var name with - - - time - timestamp - No - current time - what date/time to use - - - display_hours - boolean - No - true - whether or not to display hours - - - display_minutes - boolean - No - true - whether or not to display minutes - - - display_seconds - boolean - No - true - whether or not to display seconds - - - display_meridian - boolean - No - true - whether or not to display meridian (am/pm) - - - use_24_hours - boolean - No - true - whether or not to use 24 hour clock - - - minute_interval - integer - No - 1 - number interval in minute dropdown - - - second_interval - integer - No - 1 - number interval in second dropdown - - - field_array - string - No - n/a - outputs values to array of this name - - - all_extra - string - No - null - adds extra attributes to select/input tags if - given - - - hour_extra - string - No - null - adds extra attributes to select/input tags if - given - - - minute_extra - string - No - null - adds extra attributes to select/input tags if - given - - - second_extra - string - No - null - adds extra attributes to select/input tags if - given - - - meridian_extra - string - No - null - adds extra attributes to select/input tags if - given - - - - - - html_select_time is a custom function that - creates time dropdowns for you. It can display - any or all of hour, minute, second and - meridian. - - - The time-attribute can have different - formats. It can be a uniq-timestamp or a - string containing Y-M-D. YYYY-MM-DD may be the - most common, but months and days with less - than two digits are also recognized. If one of - the 3 values (Y,M,D) is the empty string, than - the according select-box is not pre-selected - at all. This is especially useful with the - empty_year-, -month- and -day-attritbutes. - - - -html_select_time - -{html_select_time use_24_hours=true} - - -OUTPUT: - -<select name="Time_Hour"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09" selected>09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -</select> -<select name="Time_Minute"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20" selected>20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Second"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23" selected>23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Meridian"> -<option value="am" selected>AM</option> -<option value="pm">PM</option> -</select> - - - - html_table - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - loop - array - Yes - n/a - array of data to loop through - - - cols - integer - No - 3 - number of columns in the table - - - table_attr - string - No - border="1" - attributes for table tag - - - tr_attr - string - No - empty - attributes for tr tag (arrays are cycled) - - - td_attr - string - No - empty - attributes for td tag (arrays are cycled) - - - trailpad - string - No - &nbsp; - value to pad the trailing cells on last row with - (if any) - - - - hdir - string - No - right - direction of one row to be rendered. possible values: left/right - - - vdir - string - No - down - direction of the columns to be rendered. possible values: up/down - - - - - - html_table is a custom function that dumps an - array of data into an HTML table. The cols - attribute determines how many columns will be in the table. The - table_attr, tr_attr and - td_attr values determine the attributes given - to the table, tr and td tags. If tr_attr or - td_attr are arrays, they will be cycled through. - trailpad is the value put into the trailing - cells on the last table row if there are any present. - - -html_table - -assign('data',array(1,2,3,4,5,6,7,8,9)); -$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); -$smarty->display('index.tpl'); - -index.tpl: - -{html_table loop=$data} -{html_table loop=$data cols=4 table_attr='border="0"'} -{html_table loop=$data cols=4 tr_attr=$tr} - -OUTPUT: - - - - - -
123
456
789
- - - - -
1234
5678
9   
- - - - -
1234
5678
9   
-]]>
-
-
- - math - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - equation - string - Yes - n/a - the equation to execute - - - format - string - No - n/a - the format of the result (sprintf) - - - var - numeric - Yes - n/a - equation variable value - - - assign - string - No - n/a - template variable the output will be assigned to - - - [var ...] - numeric - Yes - n/a - equation variable value - - - - - - math allows the template designer to do math equations in the - template. Any numeric template variables may be used in the - equations, and the result is printed in place of the tag. The - variables used in the equation are passed as parameters, which can - be template variables or static values. +, -, /, *, abs, ceil, cos, - exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, - srans and tan are all valid operators. Check the PHP documentation - for further information on these math functions. - - - If you supply the special "assign" attribute, the output of the - math function will be assigned to this template variable instead of - being output to the template. - - - Technical Note - - math is an expensive function in performance due to its use of - the php eval() function. Doing the math in PHP is much more - efficient, so whenever possible do the math calculations in PHP - and assign the results to the template. Definately avoid - repetitive math function calls, like within section loops. - - - -math - -{* $height=4, $width=5 *} - -{math equation="x + y" x=$height y=$width} - -OUTPUT: - -9 - - -{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} - -{math equation="height * width / division" - height=$row_height - width=$row_width - division=#col_div#} - -OUTPUT: - -100 - - -{* you can use parenthesis *} - -{math equation="(( x + y ) / z )" x=2 y=10 z=2} - -OUTPUT: - -6 - - -{* you can supply a format parameter in sprintf format *} - -{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} - -OUTPUT: - -9.44 - - - - mailto - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - address - string - Yes - n/a - the e-mail address - - - text - string - No - n/a - the text to display, default is - the e-mail address - - - encode - string - No - none - How to encode the e-mail. - Can be one of none, - hex or javascript. - - - cc - string - No - n/a - e-mail addresses to carbon copy. - Separate entries by a comma. - - - bcc - string - No - n/a - e-mail addresses to blind carbon copy. - Separate entries by a comma. - - - subject - string - No - n/a - e-mail subject. - - - newsgroups - string - No - n/a - newsgroups to post to. - Separate entries by a comma. - - - followupto - string - No - n/a - addresses to follow up to. - Separate entries by a comma. - - - extra - string - No - n/a - any extra information you - want passed to the link, such - as style sheet classes - - - - - - mailto automates the creation of mailto links and optionally - encodes them. Encoding e-mails makes it more difficult for - web spiders to pick up e-mail addresses off of your site. - - - Technical Note - - javascript is probably the most thorough form of - encoding, although you can use hex encoding too. - - - -mailto - -{mailto address="me@domain.com"} -{mailto address="me@domain.com" text="send me some mail"} -{mailto address="me@domain.com" encode="javascript"} -{mailto address="me@domain.com" encode="hex"} -{mailto address="me@domain.com" subject="Hello to you!"} -{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} -{mailto address="me@domain.com" extra='class="email"'} - -OUTPUT: - -<a href="mailto:me@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" >send me some mail</a> -<script type="text/javascript" language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 -9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% -61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e -%27%29%3b'))</script> -<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >me@domain.com</a> -<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> -<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" class="email">me@domain.com</a> - - - - popup_init - - popup is an integration of overLib, a library used for popup - windows. These are used for context sensitive information, such as - help windows or tooltips. popup_init must be called once at the - top of any page you plan on using the popup function. overLib - was written by Erik Bosrup, and the homepage is located at - http://www.bosrup.com/web/overlib/. - - - As of Smarty version 2.1.2, overLib does NOT come with the release. - Download overLib, place the overlib.js file under your document - root and supply the relative path to this file as the "src" - parameter to popup_init. - - -popup_init - -{* popup_init must be called once at the top of the page *} -{popup_init src="/javascripts/overlib.js"} - - - - popup - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - text - string - Yes - n/a - the text/html to display in the popup window - - - trigger - string - No - onMouseOver - What is used to trigger the popup window. Can be - one of onMouseOver or onClick - - - sticky - boolean - No - false - Makes the popup stick around until closed - - - caption - string - No - n/a - sets the caption to title - - - fgcolor - string - No - n/a - color of the inside of the popup box - - - bgcolor - string - No - n/a - color of the border of the popup box - - - textcolor - string - No - n/a - sets the color of the text inside the box - - - capcolor - string - No - n/a - sets color of the box's caption - - - closecolor - string - No - n/a - sets the color of the close text - - - textfont - string - No - n/a - sets the font to be used by the main text - - - captionfont - string - No - n/a - sets the font of the caption - - - closefont - string - No - n/a - sets the font for the "Close" text - - - textsize - string - No - n/a - sets the size of the main text's font - - - captionsize - string - No - n/a - sets the size of the caption's font - - - closesize - string - No - n/a - sets the size of the "Close" text's font - - - width - integer - No - n/a - sets the width of the box - - - height - integer - No - n/a - sets the height of the box - - - left - boolean - No - false - makes the popups go to the left of the mouse - - - right - boolean - No - false - makes the popups go to the right of the mouse - - - center - boolean - No - false - makes the popups go to the center of the mouse - - - above - boolean - No - false - makes the popups go above the mouse. NOTE: only - possible when height has been set - - - below - boolean - No - false - makes the popups go below the mouse - - - border - integer - No - n/a - makes the border of the popups thicker or thinner - - - offsetx - integer - No - n/a - how far away from the pointer the popup will show - up, horizontally - - - offsety - integer - No - n/a - how far away from the pointer the popup will show - up, vertically - - - fgbackground - url to image - No - n/a - defines a picture to use instead of color for the - inside of the popup. - - - bgbackground - url to image - No - n/a - defines a picture to use instead of color for the - border of the popup. NOTE: You will want to set bgcolor - to "" or the color will show as well. NOTE: When having - a Close link, Netscape will re-render the table cells, - making things look incorrect - - - closetext - string - No - n/a - sets the "Close" text to something else - - - noclose - boolean - No - n/a - does not display the "Close" text on stickies - with a caption - - - status - string - No - n/a - sets the text in the browsers status bar - - - autostatus - boolean - No - n/a - sets the status bar's text to the popup's text. - NOTE: overrides status setting - - - autostatuscap - string - No - n/a - sets the status bar's text to the caption's text. - NOTE: overrides status and autostatus settings - - - inarray - integer - No - n/a - tells overLib to read text from this index in - the ol_text array, located in overlib.js. This - parameter can be used instead of text - - - caparray - integer - No - n/a - tells overLib to read the caption from this index - in the ol_caps array - - - capicon - url - No - n/a - displays the image given before the popup caption - - - snapx - integer - No - n/a - snaps the popup to an even position in a - horizontal grid - - - snapy - integer - No - n/a - snaps the popup to an even position in a - vertical grid - - - fixx - integer - No - n/a - locks the popups horizontal position Note: - overrides all other horizontal placement - - - fixy - integer - No - n/a - locks the popups vertical position Note: - overrides all other vertical placement - - - background - url - No - n/a - sets image to be used instead of table box - background - - - padx - integer,integer - No - n/a - pads the background image with horizontal - whitespace for text placement. Note: this is a two - parameter command - - - pady - integer,integer - No - n/a - pads the background image with vertical - whitespace for text placement. Note: this is a two - parameter command - - - fullhtml - boolean - No - n/a - allows you to control the html over a background - picture completely. The html code is expected in the "text" - attribute - - - frame - string - No - n/a - controls popups in a different frame. See the - overlib page for more info on this function - - - timeout - string - No - n/a - calls the specified javascript function and takes - the return value as the text that should be displayed in - the popup window - - - delay - integer - No - n/a - makes that popup behave like a tooltip. It will - popup only after this delay in milliseconds - - - hauto - boolean - No - n/a - automatically determine if the popup should be to - the left or right of the mouse. - - - vauto - boolean - No - n/a - automatically determine if the popup should be - above or below the mouse. - - - - - - popup is used to create javascript popup windows. - - -popup - -{* popup_init must be called once at the top of the page *} -{popup_init src="/javascripts/overlib.js"} - -{* create a link with a popup window when you move your mouse over *} -<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> - -{* you can use html, links, etc in your popup text *} -<A href="mypage.html" {popup sticky=true caption="mypage contents" -text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> - - - - textformat - - - - - - - - - - Attribute Name - Type - Required - Default - Description - - - - - style - string - No - n/a - preset style - - - indent - number - No - 0 - The number of chars to indent every line - - - indent_first - number - No - 0 - The number of chars to indent the first line - - - indent_char - string - No - (single space) - The character (or string of chars) to indent with - - - wrap - number - No - 80 - How many characters to wrap each line to - - - wrap_char - string - No - \n - The character (or string of chars) to break each - line with - - - wrap_cut - boolean - No - false - If true, wrap will break the line at the exact - character instead of at a word boundary - - - assign - string - No - n/a - the template variable the output will be assigned - to - - - - - - textformat is a block function used to format text. It basically - cleans up spaces and special characters, and formats paragraphs by - wrapping at a boundary and indenting lines. - - - You can set the parameters explicitly, or use a preset style. - Currently "email" is the only available style. - - -textformat - -{textformat wrap=40} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - -This is foo. This is foo. This is foo. -This is foo. This is foo. This is foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo -foo. bar foo bar foo foo. bar foo bar -foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. - - -{textformat wrap=40 indent=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - - This is foo. This is foo. This is - foo. This is foo. This is foo. This - is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - bar foo bar foo foo. bar foo bar - foo foo. - -{textformat wrap=40 indent=4 indent_first=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - - This is foo. This is foo. This - is foo. This is foo. This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar - foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. - -{textformat style="email"} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - -This is foo. This is foo. This is foo. This is foo. This is foo. This is -foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo -foo. - - - - +&designers.language-custom-functions.language-function-assign; +&designers.language-custom-functions.language-function-counter; +&designers.language-custom-functions.language-function-cycle; +&designers.language-custom-functions.language-function-debug; +&designers.language-custom-functions.language-function-eval; +&designers.language-custom-functions.language-function-fetch; +&designers.language-custom-functions.language-function-html-checkboxes; +&designers.language-custom-functions.language-function-html-image; +&designers.language-custom-functions.language-function-html-options; +&designers.language-custom-functions.language-function-html-radios; +&designers.language-custom-functions.language-function-html-select-date; +&designers.language-custom-functions.language-function-html-select-time; +&designers.language-custom-functions.language-function-html-table; +&designers.language-custom-functions.language-function-math; +&designers.language-custom-functions.language-function-mailto; +&designers.language-custom-functions.language-function-popup-init; +&designers.language-custom-functions.language-function-popup; +&designers.language-custom-functions.language-function-textformat; + + assign + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + var + string + Yes + n/a + The name of the variable being assigned + + + value + string + Yes + n/a + The value being assigned + + + + + + assign is used for assigning template variables during the execution + of the template. + + +assign + +{assign var="name" value="Bob"} + +The value of $name is {$name}. + +OUTPUT: + +The value of $name is Bob. + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-counter.xml b/docs/en/designers/language-custom-functions/language-function-counter.xml new file mode 100644 index 00000000..d86e4dfa --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-counter.xml @@ -0,0 +1,117 @@ + + + + counter + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + No + default + The name of the counter + + + start + number + No + 1 + The initial number to start counting from + + + skip + number + No + 1 + The interval to count by + + + direction + string + No + up + the direction to count (up/down) + + + print + boolean + No + true + Whether or not to print the value + + + assign + string + No + n/a + the template variable the output will be assigned + to + + + + + + counter is used to print out a count. counter will remember the + count on each iteration. You can adjust the number, the interval + and the direction of the count, as well as determine whether or not + to print the value. You can run multiple counters concurrently by + supplying a unique name for each one. If you do not supply a name, + the name 'default' will be used. + + + If you supply the special "assign" attribute, the output of the + counter function will be assigned to this template variable instead of + being output to the template. + + +counter + +{* initialize the count *} +{counter start=0 skip=2}<br> +{counter}<br> +{counter}<br> +{counter}<br> + +OUTPUT: + +0<br> +2<br> +4<br> +6<br> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-cycle.xml b/docs/en/designers/language-custom-functions/language-function-cycle.xml new file mode 100644 index 00000000..93b28f3e --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-cycle.xml @@ -0,0 +1,136 @@ + + + + cycle + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + No + default + The name of the cycle + + + values + mixed + Yes + N/A + The values to cycle through, either a comma + delimited list (see delimiter attribute), or an array + of values. + + + print + boolean + No + true + Whether to print the value or not + + + advance + boolean + No + true + Whether or not to advance to the next value + + + delimiter + string + No + , + The delimiter to use in the values attribute. + + + assign + string + No + n/a + the template variable the output will be assigned + to + + + + + + Cycle is used to cycle though a set of values. This makes it easy + to alternate between two or more colors in a table, or cycle + through an array of values. + + + You can cycle through more than one set of values in your template + by supplying a name attribute. Give each set of values a unique + name. + + + You can force the current value not to print with the print + attribute set to false. This would be useful for silently skipping + a value. + + + The advance attribute is used to repeat a value. When set to false, + the next call to cycle will print the same value. + + + If you supply the special "assign" attribute, the output of the + cycle function will be assigned to this template variable instead of + being output to the template. + + +cycle + +{section name=rows loop=$data} +<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> + <td>{$data[rows]}</td> +</tr> +{/section} + +OUTPUT: + +<tr bgcolor="#eeeeee"> + <td>1</td> +</tr> +<tr bgcolor="#d0d0d0"> + <td>2</td> +</tr> +<tr bgcolor="#eeeeee"> + <td>3</td> +</tr> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-debug.xml b/docs/en/designers/language-custom-functions/language-function-debug.xml new file mode 100644 index 00000000..4106b9c4 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-debug.xml @@ -0,0 +1,60 @@ + + + + debug + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + output + string + No + html + output type, html or javascript + + + + + + {debug} dumps the debug console to the page. This works regardless + of the debug + settings in Smarty. Since this gets executed at runtime, this is + only able to show the assigned variables, not the templates that + are in use. But, you see all the currently available variables + within the scope of this template. + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-eval.xml b/docs/en/designers/language-custom-functions/language-function-eval.xml new file mode 100644 index 00000000..b3bd9f43 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-eval.xml @@ -0,0 +1,119 @@ + + + + eval + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + var + mixed + Yes + n/a + variable (or string) to evaluate + + + assign + string + No + n/a + the template variable the output will be assigned + to + + + + + + eval is used to evaluate a variable as a template. This can be used + for things like embedding template tags/variables into variables or + tags/variables into config file variables. + + + If you supply the special "assign" attribute, the output of the + eval function will be assigned to this template variable instead of + being output to the template. + + + Technical Note + + Evaluated variables are treated the same as templates. They follow + the same escapement and security features just as if they were + templates. + + + + Technical Note + + Evaluated variables are compiled on every invocation, the compiled + versions are not saved! However if you have caching enabled, the + output will be cached with the rest of the template. + + + +eval + +setup.conf +---------- + +emphstart = <b> +emphend = </b> +title = Welcome to {$company}'s home page! +ErrorCity = You must supply a {#emphstart#}city{#emphend#}. +ErrorState = You must supply a {#emphstart#}state{#emphend#}. + + +index.tpl +--------- + +{config_load file="setup.conf"} + +{eval var=$foo} +{eval var=#title#} +{eval var=#ErrorCity#} +{eval var=#ErrorState# assign="state_error"} +{$state_error} + +OUTPUT: + +This is the contents of foo. +Welcome to Foobar Pub & Grill's home page! +You must supply a <b>city</b>. +You must supply a <b>state</b>. + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-fetch.xml b/docs/en/designers/language-custom-functions/language-function-fetch.xml new file mode 100644 index 00000000..0ff14295 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-fetch.xml @@ -0,0 +1,107 @@ + + + + fetch + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + the file, http or ftp site to fetch + + + assign + string + No + n/a + the template variable the output will be assigned + to + + + + + + fetch is used to fetch files from the local file system, http, or + ftp and display the contents. If the file name begins with + "http://", the web site page will be fetched and displayed. If the + file name begins with "ftp://", the file will be fetched from the + ftp server and displayed. For local files, the full system file + path must be given, or a path relative to the executed php script. + + + If you supply the special "assign" attribute, the output of the + fetch function will be assigned to this template variable instead of + being output to the template. (new in Smarty 1.5.0) + + + Technical Note + + This will not support http redirects, be sure to + include a trailing slash on your web page fetches where necessary. + + + + Technical Note + + If template security is turned on and you are + fetching a file from the local file system, this will only allow + files from within one of the defined secure directories. + ($secure_dir) + + + +fetch + +{* include some javascript in your template *} +{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} + +{* embed some weather text in your template from another web site *} +{fetch file="http://www.myweather.com/68502/"} + +{* fetch a news headline file via ftp *} +{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} + +{* assign the fetched contents to a template variable *} +{fetch file="http://www.myweather.com/68502/" assign="weather"} +{if $weather ne ""} + <b>{$weather}</b> +{/if} + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml new file mode 100644 index 00000000..dca06132 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml @@ -0,0 +1,147 @@ + + + + html_checkboxes + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + No + checkbox + name of checkbox list + + + values + array + Yes, unless using options attribute + n/a + an array of values for checkbox buttons + + + output + array + Yes, unless using options attribute + n/a + an array of output for checkbox buttons + + + selected + string/array + No + empty + the selected checkbox element(s) + + + options + associative array + Yes, unless using values and output + n/a + an associative array of values and output + + + separator + string + No + empty + string of text to separate each checkbox item + + + labels + boolean + No + true + add <label>-tags to the output + + + + + + html_checkboxes is a custom function that creates an html checkbox + group with provided data. It takes care of which item(s) are + selected by default as well. Required attributes are values and + output, unless you use options instead. All output is XHTML + compatible. + + + All parameters that are not in the list above are printed as + name/value-pairs inside each of the created <input>-tags. + + +html_checkboxes + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_checkboxes', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"} + + +OUTPUT: (both examples) + +<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br /> +<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br /> +<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br /> +<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br /> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-image.xml b/docs/en/designers/language-custom-functions/language-function-html-image.xml new file mode 100644 index 00000000..e7adb4fe --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-image.xml @@ -0,0 +1,152 @@ + + + + html_image + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + file + string + Yes + n/a + name/path to image + + + border + string + No + 0 + size of border around image + + + height + string + No + actual image height + height to display image + + + width + string + No + actual image width + width to display image + + + basedir + string + no + web server doc root + directory to base relative paths from + + + alt + string + no + "" + alternative description of the image + + + href + string + no + n/a + href value to link the image to + + + + + + html_image is a custom function that generates an HTML tag for an + image. The height and width are automatically calculated from the + image file if none are supplied. + + + basedir is the base directory that relative image paths are based + from. If not given, the web server document root (env variable + DOCUMENT_ROOT) is used as the base. If security is enabled, the + path to the image must be within a secure directory. + + + href is the href value to link the image to. If link is supplied, an + <a href="LINKVALUE"><a> tag is put around the image tag. + + + Technical Note + + html_image requires a hit to the disk to read the image and + calculate the height and width. If you don't use template + caching, it is generally better to avoid html_image and leave + image tags static for optimal performance. + + + + html_image example + +display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + + + + a possible output would be: + + + + + +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-options.xml b/docs/en/designers/language-custom-functions/language-function-html-options.xml new file mode 100644 index 00000000..e95e8471 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-options.xml @@ -0,0 +1,149 @@ + + + + html_options + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + values + array + Yes, unless using options attribute + n/a + an array of values for dropdown + + + output + array + Yes, unless using options attribute + n/a + an array of output for dropdown + + + selected + string/array + No + empty + the selected option element(s) + + + options + associative array + Yes, unless using values and output + n/a + an associative array of values and output + + + name + string + No + empty + name of select group + + + + + + html_options is a custom function that creates html option group + with provided data. It takes care of which item(s) are selected by + default as well. Required attributes are values and output, unless + you use options instead. + + + If a given value is an array, it will treat it as an html OPTGROUP, + and display the groups. Recursion is supported with OPTGROUP. All + output is XHTML compatible. + + + If the optional name attribute is given, the + <select name="groupname"></select> tags will enclose + the option list. Otherwise only the option list is generated. + + + All parameters that are not in the list above are printed as + name/value-pairs inside the <select>-tag. They are ignored if + the optional name is not given. + + +html_options + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options values=$cust_ids selected=$customer_id output=$cust_names} +</select> + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_options', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options options=$cust_options selected=$customer_id} +</select> + + +OUTPUT: (both examples) + +<select name=customer_id> + <option value="1000">Joe Schmoe</option> + <option value="1001" selected="selected">Jack Smith</option> + <option value="1002">Jane Johnson</option> + <option value="1003">Charlie Brown</option> +</select> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-radios.xml b/docs/en/designers/language-custom-functions/language-function-html-radios.xml new file mode 100644 index 00000000..dcc8f8bd --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-radios.xml @@ -0,0 +1,142 @@ + + + + html_radios + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + name + string + No + radio + name of radio list + + + values + array + Yes, unless using options attribute + n/a + an array of values for radio buttons + + + output + array + Yes, unless using options attribute + n/a + an array of output for radio buttons + + + selected + string + No + empty + the selected radio element + + + options + associative array + Yes, unless using values and output + n/a + an associative array of values and output + + + separator + string + No + empty + string of text to separate each radio item + + + + + + html_radios is a custom function that creates html radio button + group with provided data. It takes care of which item is selected + by default as well. Required attributes are values and output, + unless you use options instead. All output is XHTML compatible. + + + All parameters that are not in the list above are printed as + name/value-pairs inside each of the created <input>-tags. + + + +html_radios + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_radios', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"} + + +OUTPUT: (both examples) + +<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> +<input type="radio" name="id[]" value="1001" checked="checked"><br /> +<input type="radio" name="id[]" value="1002">Jane Johnson<br /> +<input type="radio" name="id[]" value="1003">Charlie Brown<br /> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-select-date.xml b/docs/en/designers/language-custom-functions/language-function-html-select-date.xml new file mode 100644 index 00000000..f1b39aad --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-select-date.xml @@ -0,0 +1,341 @@ + + + + html_select_date + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + prefix + string + No + Date_ + what to prefix the var name with + + + time + timestamp/YYYY-MM-DD + No + current time in unix timestamp or YYYY-MM-DD + format + what date/time to use + + + start_year + string + No + current year + the first year in the dropdown, either + year number, or relative to current year (+/- N) + + + end_year + string + No + same as start_year + the last year in the dropdown, either + year number, or relative to current year (+/- N) + + + display_days + boolean + No + true + whether to display days or not + + + display_months + boolean + No + true + whether to display months or not + + + display_years + boolean + No + true + whether to display years or not + + + month_format + string + No + %B + what format the month should be in (strftime) + + + day_format + string + No + %02d + what format the day output should be in (sprintf) + + + day_value_format + string + No + %d + what format the day value should be in (sprintf) + + + year_as_text + boolean + No + false + whether or not to display the year as text + + + reverse_years + boolean + No + false + display years in reverse order + + + field_array + string + No + null + + if a name is given, the select boxes will be drawn + such that the results will be returned to PHP in the + form of name[Day], name[Year], name[Month]. + + + + day_size + string + No + null + adds size attribute to select tag if given + + + month_size + string + No + null + adds size attribute to select tag if given + + + year_size + string + No + null + adds size attribute to select tag if given + + + all_extra + string + No + null + adds extra attributes to all select/input tags if + given + + + day_extra + string + No + null + adds extra attributes to select/input tags if + given + + + month_extra + string + No + null + adds extra attributes to select/input tags if + given + + + year_extra + string + No + null + adds extra attributes to select/input tags if + given + + + field_order + string + No + MDY + the order in which to display the fields + + + field_separator + string + No + \n + string printed between different fields + + + month_value_format + string + No + %m + strftime format of the month values, default is + %m for month numbers. + + + year_empty + string + No + null + If supplied then the first element of the year's select-box has this + value as it's label and "" as it's value. This is useful to make the + select-box read "Please select a year" for example. + + + day_empty + string + No + null + If supplied then the first element of the day's select-box has this + value as it's label and "" as it's value. + + + month_empty + string + No + null + If supplied then the first element of the month's select-box has this + value as it's label and "" as it's value. . + + + + + + html_select_date is a custom function that creates date dropdowns + for you. It can display any or all of year, month, and day. + + +html_select_date + +{html_select_date} + + +OUTPUT: + +<select name="Date_Month"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="Date_Day"> +<option value="1">01</option> +<option value="2">02</option> +<option value="3">03</option> +<option value="4">04</option> +<option value="5">05</option> +<option value="6">06</option> +<option value="7">07</option> +<option value="8">08</option> +<option value="9">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13" selected>13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select> +<select name="Date_Year"> +<option value="2001" selected>2001</option> +</select> + + + + +html_select_date + + +{* start and end year can be relative to current year *} +{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} + +OUTPUT: (current year is 2000) + +<select name="StartDateMonth"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="StartDateYear"> +<option value="1999">1995</option> +<option value="1999">1996</option> +<option value="1999">1997</option> +<option value="1999">1998</option> +<option value="1999">1999</option> +<option value="2000" selected>2000</option> +<option value="2001">2001</option> +</select> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-select-time.xml b/docs/en/designers/language-custom-functions/language-function-html-select-time.xml new file mode 100644 index 00000000..e2ef012e --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-select-time.xml @@ -0,0 +1,336 @@ + + + + html_select_time + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + prefix + string + No + Time_ + what to prefix the var name with + + + time + timestamp + No + current time + what date/time to use + + + display_hours + boolean + No + true + whether or not to display hours + + + display_minutes + boolean + No + true + whether or not to display minutes + + + display_seconds + boolean + No + true + whether or not to display seconds + + + display_meridian + boolean + No + true + whether or not to display meridian (am/pm) + + + use_24_hours + boolean + No + true + whether or not to use 24 hour clock + + + minute_interval + integer + No + 1 + number interval in minute dropdown + + + second_interval + integer + No + 1 + number interval in second dropdown + + + field_array + string + No + n/a + outputs values to array of this name + + + all_extra + string + No + null + adds extra attributes to select/input tags if + given + + + hour_extra + string + No + null + adds extra attributes to select/input tags if + given + + + minute_extra + string + No + null + adds extra attributes to select/input tags if + given + + + second_extra + string + No + null + adds extra attributes to select/input tags if + given + + + meridian_extra + string + No + null + adds extra attributes to select/input tags if + given + + + + + + html_select_time is a custom function that + creates time dropdowns for you. It can display + any or all of hour, minute, second and + meridian. + + + The time-attribute can have different + formats. It can be a uniq-timestamp or a + string containing Y-M-D. YYYY-MM-DD may be the + most common, but months and days with less + than two digits are also recognized. If one of + the 3 values (Y,M,D) is the empty string, than + the according select-box is not pre-selected + at all. This is especially useful with the + empty_year-, -month- and -day-attritbutes. + + + +html_select_time + +{html_select_time use_24_hours=true} + + +OUTPUT: + +<select name="Time_Hour"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09" selected>09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +</select> +<select name="Time_Minute"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20" selected>20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Second"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23" selected>23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Meridian"> +<option value="am" selected>AM</option> +<option value="pm">PM</option> +</select> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-html-table.xml b/docs/en/designers/language-custom-functions/language-function-html-table.xml new file mode 100644 index 00000000..bde78d8d --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-html-table.xml @@ -0,0 +1,151 @@ + + + + html_table + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + loop + array + Yes + n/a + array of data to loop through + + + cols + integer + No + 3 + number of columns in the table + + + table_attr + string + No + border="1" + attributes for table tag + + + tr_attr + string + No + empty + attributes for tr tag (arrays are cycled) + + + td_attr + string + No + empty + attributes for td tag (arrays are cycled) + + + trailpad + string + No + &nbsp; + value to pad the trailing cells on last row with + (if any) + + + + hdir + string + No + right + direction of one row to be rendered. possible values: left/right + + + vdir + string + No + down + direction of the columns to be rendered. possible values: up/down + + + + + + html_table is a custom function that dumps an + array of data into an HTML table. The cols + attribute determines how many columns will be in the table. The + table_attr, tr_attr and + td_attr values determine the attributes given + to the table, tr and td tags. If tr_attr or + td_attr are arrays, they will be cycled through. + trailpad is the value put into the trailing + cells on the last table row if there are any present. + + +html_table + +assign('data',array(1,2,3,4,5,6,7,8,9)); +$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); +$smarty->display('index.tpl'); + +index.tpl: + +{html_table loop=$data} +{html_table loop=$data cols=4 table_attr='border="0"'} +{html_table loop=$data cols=4 tr_attr=$tr} + +OUTPUT: + + + + + +
123
456
789
+ + + + +
1234
5678
9   
+ + + + +
1234
5678
9   
+]]>
+
+
+ \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-mailto.xml b/docs/en/designers/language-custom-functions/language-function-mailto.xml new file mode 100644 index 00000000..3b576280 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-mailto.xml @@ -0,0 +1,153 @@ + + + + mailto + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + address + string + Yes + n/a + the e-mail address + + + text + string + No + n/a + the text to display, default is + the e-mail address + + + encode + string + No + none + How to encode the e-mail. + Can be one of none, + hex or javascript. + + + cc + string + No + n/a + e-mail addresses to carbon copy. + Separate entries by a comma. + + + bcc + string + No + n/a + e-mail addresses to blind carbon copy. + Separate entries by a comma. + + + subject + string + No + n/a + e-mail subject. + + + newsgroups + string + No + n/a + newsgroups to post to. + Separate entries by a comma. + + + followupto + string + No + n/a + addresses to follow up to. + Separate entries by a comma. + + + extra + string + No + n/a + any extra information you + want passed to the link, such + as style sheet classes + + + + + + mailto automates the creation of mailto links and optionally + encodes them. Encoding e-mails makes it more difficult for + web spiders to pick up e-mail addresses off of your site. + + + Technical Note + + javascript is probably the most thorough form of + encoding, although you can use hex encoding too. + + + +mailto + +{mailto address="me@domain.com"} +{mailto address="me@domain.com" text="send me some mail"} +{mailto address="me@domain.com" encode="javascript"} +{mailto address="me@domain.com" encode="hex"} +{mailto address="me@domain.com" subject="Hello to you!"} +{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} +{mailto address="me@domain.com" extra='class="email"'} + +OUTPUT: + +<a href="mailto:me@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" >send me some mail</a> +<script type="text/javascript" language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 +9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% +61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e +%27%29%3b'))</script> +<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >me@domain.com</a> +<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> +<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" class="email">me@domain.com</a> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-math.xml b/docs/en/designers/language-custom-functions/language-function-math.xml new file mode 100644 index 00000000..ca9c33bc --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-math.xml @@ -0,0 +1,146 @@ + + + + math + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + equation + string + Yes + n/a + the equation to execute + + + format + string + No + n/a + the format of the result (sprintf) + + + var + numeric + Yes + n/a + equation variable value + + + assign + string + No + n/a + template variable the output will be assigned to + + + [var ...] + numeric + Yes + n/a + equation variable value + + + + + + math allows the template designer to do math equations in the + template. Any numeric template variables may be used in the + equations, and the result is printed in place of the tag. The + variables used in the equation are passed as parameters, which can + be template variables or static values. +, -, /, *, abs, ceil, cos, + exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, + srans and tan are all valid operators. Check the PHP documentation + for further information on these math functions. + + + If you supply the special "assign" attribute, the output of the + math function will be assigned to this template variable instead of + being output to the template. + + + Technical Note + + math is an expensive function in performance due to its use of + the php eval() function. Doing the math in PHP is much more + efficient, so whenever possible do the math calculations in PHP + and assign the results to the template. Definately avoid + repetitive math function calls, like within section loops. + + + +math + +{* $height=4, $width=5 *} + +{math equation="x + y" x=$height y=$width} + +OUTPUT: + +9 + + +{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} + +{math equation="height * width / division" + height=$row_height + width=$row_width + division=#col_div#} + +OUTPUT: + +100 + + +{* you can use parenthesis *} + +{math equation="(( x + y ) / z )" x=2 y=10 z=2} + +OUTPUT: + +6 + + +{* you can supply a format parameter in sprintf format *} + +{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} + +OUTPUT: + +9.44 + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-popup-init.xml b/docs/en/designers/language-custom-functions/language-function-popup-init.xml new file mode 100644 index 00000000..e761c43b --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-popup-init.xml @@ -0,0 +1,46 @@ + + + + popup_init + + popup is an integration of overLib, a library used for popup + windows. These are used for context sensitive information, such as + help windows or tooltips. popup_init must be called once at the + top of any page you plan on using the popup function. overLib + was written by Erik Bosrup, and the homepage is located at + http://www.bosrup.com/web/overlib/. + + + As of Smarty version 2.1.2, overLib does NOT come with the release. + Download overLib, place the overlib.js file under your document + root and supply the relative path to this file as the "src" + parameter to popup_init. + + +popup_init + +{* popup_init must be called once at the top of the page *} +{popup_init src="/javascripts/overlib.js"} + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-popup.xml b/docs/en/designers/language-custom-functions/language-function-popup.xml new file mode 100644 index 00000000..9b1a6190 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-popup.xml @@ -0,0 +1,429 @@ + + + + popup + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + text + string + Yes + n/a + the text/html to display in the popup window + + + trigger + string + No + onMouseOver + What is used to trigger the popup window. Can be + one of onMouseOver or onClick + + + sticky + boolean + No + false + Makes the popup stick around until closed + + + caption + string + No + n/a + sets the caption to title + + + fgcolor + string + No + n/a + color of the inside of the popup box + + + bgcolor + string + No + n/a + color of the border of the popup box + + + textcolor + string + No + n/a + sets the color of the text inside the box + + + capcolor + string + No + n/a + sets color of the box's caption + + + closecolor + string + No + n/a + sets the color of the close text + + + textfont + string + No + n/a + sets the font to be used by the main text + + + captionfont + string + No + n/a + sets the font of the caption + + + closefont + string + No + n/a + sets the font for the "Close" text + + + textsize + string + No + n/a + sets the size of the main text's font + + + captionsize + string + No + n/a + sets the size of the caption's font + + + closesize + string + No + n/a + sets the size of the "Close" text's font + + + width + integer + No + n/a + sets the width of the box + + + height + integer + No + n/a + sets the height of the box + + + left + boolean + No + false + makes the popups go to the left of the mouse + + + right + boolean + No + false + makes the popups go to the right of the mouse + + + center + boolean + No + false + makes the popups go to the center of the mouse + + + above + boolean + No + false + makes the popups go above the mouse. NOTE: only + possible when height has been set + + + below + boolean + No + false + makes the popups go below the mouse + + + border + integer + No + n/a + makes the border of the popups thicker or thinner + + + offsetx + integer + No + n/a + how far away from the pointer the popup will show + up, horizontally + + + offsety + integer + No + n/a + how far away from the pointer the popup will show + up, vertically + + + fgbackground + url to image + No + n/a + defines a picture to use instead of color for the + inside of the popup. + + + bgbackground + url to image + No + n/a + defines a picture to use instead of color for the + border of the popup. NOTE: You will want to set bgcolor + to "" or the color will show as well. NOTE: When having + a Close link, Netscape will re-render the table cells, + making things look incorrect + + + closetext + string + No + n/a + sets the "Close" text to something else + + + noclose + boolean + No + n/a + does not display the "Close" text on stickies + with a caption + + + status + string + No + n/a + sets the text in the browsers status bar + + + autostatus + boolean + No + n/a + sets the status bar's text to the popup's text. + NOTE: overrides status setting + + + autostatuscap + string + No + n/a + sets the status bar's text to the caption's text. + NOTE: overrides status and autostatus settings + + + inarray + integer + No + n/a + tells overLib to read text from this index in + the ol_text array, located in overlib.js. This + parameter can be used instead of text + + + caparray + integer + No + n/a + tells overLib to read the caption from this index + in the ol_caps array + + + capicon + url + No + n/a + displays the image given before the popup caption + + + snapx + integer + No + n/a + snaps the popup to an even position in a + horizontal grid + + + snapy + integer + No + n/a + snaps the popup to an even position in a + vertical grid + + + fixx + integer + No + n/a + locks the popups horizontal position Note: + overrides all other horizontal placement + + + fixy + integer + No + n/a + locks the popups vertical position Note: + overrides all other vertical placement + + + background + url + No + n/a + sets image to be used instead of table box + background + + + padx + integer,integer + No + n/a + pads the background image with horizontal + whitespace for text placement. Note: this is a two + parameter command + + + pady + integer,integer + No + n/a + pads the background image with vertical + whitespace for text placement. Note: this is a two + parameter command + + + fullhtml + boolean + No + n/a + allows you to control the html over a background + picture completely. The html code is expected in the "text" + attribute + + + frame + string + No + n/a + controls popups in a different frame. See the + overlib page for more info on this function + + + timeout + string + No + n/a + calls the specified javascript function and takes + the return value as the text that should be displayed in + the popup window + + + delay + integer + No + n/a + makes that popup behave like a tooltip. It will + popup only after this delay in milliseconds + + + hauto + boolean + No + n/a + automatically determine if the popup should be to + the left or right of the mouse. + + + vauto + boolean + No + n/a + automatically determine if the popup should be + above or below the mouse. + + + + + + popup is used to create javascript popup windows. + + +popup + +{* popup_init must be called once at the top of the page *} +{popup_init src="/javascripts/overlib.js"} + +{* create a link with a popup window when you move your mouse over *} +<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> + +{* you can use html, links, etc in your popup text *} +<A href="mypage.html" {popup sticky=true caption="mypage contents" +text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> + + + \ No newline at end of file diff --git a/docs/en/designers/language-custom-functions/language-function-textformat.xml b/docs/en/designers/language-custom-functions/language-function-textformat.xml new file mode 100644 index 00000000..e28709c3 --- /dev/null +++ b/docs/en/designers/language-custom-functions/language-function-textformat.xml @@ -0,0 +1,254 @@ + + + + textformat + + + + + + + + + + Attribute Name + Type + Required + Default + Description + + + + + style + string + No + n/a + preset style + + + indent + number + No + 0 + The number of chars to indent every line + + + indent_first + number + No + 0 + The number of chars to indent the first line + + + indent_char + string + No + (single space) + The character (or string of chars) to indent with + + + wrap + number + No + 80 + How many characters to wrap each line to + + + wrap_char + string + No + \n + The character (or string of chars) to break each + line with + + + wrap_cut + boolean + No + false + If true, wrap will break the line at the exact + character instead of at a word boundary + + + assign + string + No + n/a + the template variable the output will be assigned + to + + + + + + textformat is a block function used to format text. It basically + cleans up spaces and special characters, and formats paragraphs by + wrapping at a boundary and indenting lines. + + + You can set the parameters explicitly, or use a preset style. + Currently "email" is the only available style. + + +textformat + +{textformat wrap=40} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + +This is foo. This is foo. This is foo. +This is foo. This is foo. This is foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo +foo. bar foo bar foo foo. bar foo bar +foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. + + +{textformat wrap=40 indent=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + + This is foo. This is foo. This is + foo. This is foo. This is foo. This + is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. bar foo bar foo foo. + bar foo bar foo foo. bar foo bar + foo foo. + +{textformat wrap=40 indent=4 indent_first=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + + This is foo. This is foo. This + is foo. This is foo. This is foo. + This is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar + foo foo. bar foo bar foo foo. bar + foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. + +{textformat style="email"} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + +This is foo. This is foo. This is foo. This is foo. This is foo. This is +foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo +foo. + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers.xml b/docs/en/designers/language-modifiers.xml index 44dc312b..93463fae 100644 --- a/docs/en/designers/language-modifiers.xml +++ b/docs/en/designers/language-modifiers.xml @@ -56,1435 +56,28 @@ Topic: {$topic|truncate:40:"..."} $security_settings['MODIFIER_FUNCS']-array. - - capitalize - - This is used to capitalize the first letter of all words in a variable. - - - capitalize - -assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - count_characters - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - boolean - No - false - This determines whether or not to include - whitespace characters in the count. - - - - - - This is used to count the number of characters in a variable. - - - count_characters - -assign('articleTitle', 'Cold Wave Linked to Temperatures.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - cat - - - - - - - - - - Parameter Position - Type - Required - cat - Description - - - - - 1 - string - No - empty - This value to catenate to the given variable. - - - - - - This value is concatenated to the given variable. - - - cat - -assign('articleTitle', "Psychics predict world didn't end"); -$smarty->display('index.tpl'); -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - count_paragraphs - - This is used to count the number of paragraphs in a variable. - - - count_paragraphs - -assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins -Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); -$smarty->display('index.tpl'); -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - count_sentences - - This is used to count the number of sentences in a variable. - - - count_sentences - -assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - count_words - - This is used to count the number of words in a variable. - - - count_words - -assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - date_format - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - No - %b %e, %Y - This is the format for the outputted date. - - - 2 - string - No - n/a - This is the default date if the input is empty. - - - - - - This formats a date and time into the given strftime() format. - Dates can be passed to Smarty as unix timestamps, mysql timestamps - or any string made up of month day year (parsable by strtotime). - Designers can then use date_format to have complete control of the - formatting of the date. If the date passed to date_format is empty - and a second parameter is passed, that will be used as the date to - format. - - - date_format - -assign('yesterday', strtotime('-1 day')); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - date_format conversion specifiers: - - - %a - abbreviated weekday name according to the current locale - - - %A - full weekday name according to the current locale - - - %b - abbreviated month name according to the current locale - - - %B - full month name according to the current locale - - - %c - preferred date and time representation for the current locale - - - %C - century number (the year divided by 100 and truncated to an integer, range 00 to 99) - - - %d - day of the month as a decimal number (range 00 to 31) - - - %D - same as %m/%d/%y - - - %e - day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31) - - - %g - Week-based year within century [00,99] - - - %G - Week-based year, including the century [0000,9999] - - - %h - same as %b - - - %H - hour as a decimal number using a 24-hour clock (range 00 to 23) - - - %I - hour as a decimal number using a 12-hour clock (range 01 to 12) - - - %j - day of the year as a decimal number (range 001 to 366) - - - %k - Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23) - - - %l - hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12) - - - %m - month as a decimal number (range 01 to 12) - - - %M - minute as a decimal number - - - %n - newline character - - - %p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale - - - %r - time in a.m. and p.m. notation - - - %R - time in 24 hour notation - - - %S - second as a decimal number - - - %t - tab character - - - %T - current time, equal to %H:%M:%S - - - %u - weekday as a decimal number [1,7], with 1 representing Monday - - - %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week - - - %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. - - - %w - day of the week as a decimal, Sunday being 0 - - - %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week - - - %x - preferred date representation for the current locale without the time - - - %X - preferred time representation for the current locale without the date - - - %y - year as a decimal number without a century (range 00 to 99) - - - %Y - year as a decimal number including the century - - - %Z - time zone or name or abbreviation - - - %% - a literal `%' character - - - - Programmers note - - date_format is essentially a wrapper to PHP's strftime() - function. You may have more or less conversion specifiers available depending - on your system's strftime() function where PHP was compiled. Check your - system's manpage for a full list of valid specifiers. - - - - - - - default - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - No - empty - This is the default value to output if the - variable is empty. - - - - - - This is used to set a default value for a variable. If the variable - is empty or unset, the given default value is printed instead. - Default takes one argument. - - - default - -assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - escape - - - - - - - - - - - Parameter Position - Type - Required - Possible Values - Default - Description - - - - - 1 - string - No - html,htmlall,url,quotes,hex,hexentity,javascript - html - This is the escape format to use. - - - - - - This is used to html escape, url escape, escape single quotes on a - variable not already escaped, hex escape, hexentity or javascript escape. - By default, the variable is html - escaped. - - - escape - -assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - *} -{$articleTitle|escape:"htmlall"} {* escapes ALL html entities *} -{$articleTitle|escape:"url"} -{$articleTitle|escape:"quotes"} -{$EmailAddress|escape:"hexentity"} -]]> - - - This will output: - - -bob@me.net -]]> - - - - - indent - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - integer - No - 4 - This determines how many characters to indent - to. - - - 2 - string - No - (one space) - This is the character used to indent with. - - - - - - This indents a string at each line, default is 4. As - an optional parameter, you can specify the number of characters to - indent. As an optional second parameter, you can specify the - character to use to indent with. (Use "\t" for tabs.) - - - indent - -assign('articleTitle', 'NJ judge to rule on nude beach.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - this will output: - - - - - - - - lower - - This is used to lowercase a variable. - - - lower - -assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This will output: - - - - - - - - nl2br - - All linebreaks will be converted to <br /> tags in the given - variable. This is equivalent to the PHP nl2br() function. - - - nl2br - -assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This should output: - - -today, dark tonight -]]> - - - - - regex_replace - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - Yes - n/a - This is the regular expression to be replaced. - - - 2 - string - Yes - n/a - This is the string of text to replace with. - - - - - - A regular expression search and replace on a variable. Use the - syntax for preg_replace() from the PHP manual. - - - regex_replace - -assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This should output: - - - - - - - - replace - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - Yes - n/a - This is the string of text to be replaced. - - - 2 - string - Yes - n/a - This is the string of text to replace with. - - - - - - A simple search and replace on a variable. - - - replace - -assign('articleTitle', "Child's Stool Great for Use in Garden."); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This should output: - - - - - - - - spacify - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - No - one space - This what gets inserted between each character of - the variable. - - - - - - spacify is a way to insert a space between every character of a variable. - You can optionally pass a different character (or string) to insert. - - - spacify - -assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); -$smarty->display('index.tpl'); -?> -]]> - - - Where index.tpl is: - - - - - - This should output: - - - - - - - - string_format - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - string - Yes - n/a - This is what format to use. (sprintf) - - - - - - This is a way to format strings, such as decimal numbers and such. - Use the syntax for sprintf for the formatting. - - - string_format - -assign('number', 23.5787446); -$smarty->display('index.tpl'); - -?> -]]> - - - Where index.tpl is: - - - - - - This should output: - - - - - - - - strip - - This replaces all repeated spaces, newlines and tabs with a single - space, or with a supplied string. - - - Note - - If you want to strip blocks of template text, use the strip function. - - - - strip - -assign('articleTitle', "Grandmother of\neight makes\t hole in one."); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - - - - This will output: - - - - - - - - strip_tags - - This strips out markup tags, basically anything between < and >. - - - strip_tags - -assign('articleTitle', "Blind Woman Gets New -Kidney from Dad she Hasn't Seen in years."); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - - - - This will output: - - -New Kidney from Dad she Hasn't Seen in years. -Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. -]]> - - - - - truncate - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - integer - No - 80 - This determines how many characters to truncate - to. - - - 2 - string - No - ... - This is the text to append if truncation occurs. - - - 3 - boolean - No - false - This determines whether or not to truncate at a - word boundary (false), or at the exact character (true). - - - - - - This truncates a variable to a character length, default is 80. As - an optional second parameter, you can specify a string of text - to display at the end if the variable was truncated. The - characters in the string are included with the original truncation length. - By default, truncate will attempt to cut off at a word boundary. If - you want to cut off at the exact character length, pass the optional - third parameter of true. - - - truncate - -assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - - - - This will output: - - - - - - - - upper - - This is used to uppercase a variable. - - - upper - -assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - - - - This will output: - - - - - - - - wordwrap - - - - - - - - - - Parameter Position - Type - Required - Default - Description - - - - - 1 - integer - No - 80 - This determines how many columns to wrap - to. - - - 2 - string - No - \n - This is the string used to wrap words with. - - - 3 - boolean - No - false - This determines whether or not to wrap at a - word boundary (false), or at the exact character (true). - - - - - - This wraps a string to a column width, default is 80. As - an optional second parameter, you can specify a string of text - to wrap the text to the next line (default is carriage return \n). - By default, wordwrap will attempt to wrap at a word boundary. If - you want to cut off at the exact character length, pass the optional - third parameter of true. - - - wordwrap - -assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - -\n"} - -{$articleTitle|wordwrap:30:"\n":true} -]]> - - - This will output: - - - -from dad she hasn't seen in
-years. - -Blind woman gets new kidney -from dad she hasn't seen in -years. -]]> -
-
-
+&designers.language-modifiers.language-modifier-default; +&designers.language-modifiers.language-modifier-escape; +&designers.language-modifiers.language-modifier-indent; +&designers.language-modifiers.language-modifier-lower; +&designers.language-modifiers.language-modifier-nl2br; +&designers.language-modifiers.language-modifier-regex-replace; +&designers.language-modifiers.language-modifier-replace; +&designers.language-modifiers.language-modifier-spacify; +&designers.language-modifiers.language-modifier-string-format; +&designers.language-modifiers.language-modifier-strip; +&designers.language-modifiers.language-modifier-strip-tags; +&designers.language-modifiers.language-modifier-truncate; +&designers.language-modifiers.language-modifier-upper; +&designers.language-modifiers.language-modifier-wordwrap; diff --git a/docs/en/designers/language-modifiers/language-modifier-capitalize.xml b/docs/en/designers/language-modifiers/language-modifier-capitalize.xml new file mode 100644 index 00000000..2ac751b2 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-capitalize.xml @@ -0,0 +1,60 @@ + + + + capitalize + + This is used to capitalize the first letter of all words in a variable. + + + capitalize + +assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-cat.xml b/docs/en/designers/language-modifiers/language-modifier-cat.xml new file mode 100644 index 00000000..bc61dd0f --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-cat.xml @@ -0,0 +1,83 @@ + + + + cat + + + + + + + + + + Parameter Position + Type + Required + cat + Description + + + + + 1 + string + No + empty + This value to catenate to the given variable. + + + + + + This value is concatenated to the given variable. + + + cat + +assign('articleTitle', "Psychics predict world didn't end"); +$smarty->display('index.tpl'); +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-count-characters.xml b/docs/en/designers/language-modifiers/language-modifier-count-characters.xml new file mode 100644 index 00000000..3505a751 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-count-characters.xml @@ -0,0 +1,90 @@ + + + + count_characters + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + boolean + No + false + This determines whether or not to include + whitespace characters in the count. + + + + + + This is used to count the number of characters in a variable. + + + count_characters + +assign('articleTitle', 'Cold Wave Linked to Temperatures.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml new file mode 100644 index 00000000..d4ed93a0 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml @@ -0,0 +1,61 @@ + + + + count_paragraphs + + This is used to count the number of paragraphs in a variable. + + + count_paragraphs + +assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins +Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); +$smarty->display('index.tpl'); +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml new file mode 100644 index 00000000..7de46f5c --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml @@ -0,0 +1,60 @@ + + + + count_sentences + + This is used to count the number of sentences in a variable. + + + count_sentences + +assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-count-words.xml b/docs/en/designers/language-modifiers/language-modifier-count-words.xml new file mode 100644 index 00000000..deea7a9e --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-count-words.xml @@ -0,0 +1,60 @@ + + + + count_words + + This is used to count the number of words in a variable. + + + count_words + +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-date-format.xml b/docs/en/designers/language-modifiers/language-modifier-date-format.xml new file mode 100644 index 00000000..cb2a00cb --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-date-format.xml @@ -0,0 +1,233 @@ + + + + date_format + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + No + %b %e, %Y + This is the format for the outputted date. + + + 2 + string + No + n/a + This is the default date if the input is empty. + + + + + + This formats a date and time into the given strftime() format. + Dates can be passed to Smarty as unix timestamps, mysql timestamps + or any string made up of month day year (parsable by strtotime). + Designers can then use date_format to have complete control of the + formatting of the date. If the date passed to date_format is empty + and a second parameter is passed, that will be used as the date to + format. + + + date_format + +assign('yesterday', strtotime('-1 day')); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + date_format conversion specifiers: + + + %a - abbreviated weekday name according to the current locale + + + %A - full weekday name according to the current locale + + + %b - abbreviated month name according to the current locale + + + %B - full month name according to the current locale + + + %c - preferred date and time representation for the current locale + + + %C - century number (the year divided by 100 and truncated to an integer, range 00 to 99) + + + %d - day of the month as a decimal number (range 00 to 31) + + + %D - same as %m/%d/%y + + + %e - day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31) + + + %g - Week-based year within century [00,99] + + + %G - Week-based year, including the century [0000,9999] + + + %h - same as %b + + + %H - hour as a decimal number using a 24-hour clock (range 00 to 23) + + + %I - hour as a decimal number using a 12-hour clock (range 01 to 12) + + + %j - day of the year as a decimal number (range 001 to 366) + + + %k - Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23) + + + %l - hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12) + + + %m - month as a decimal number (range 01 to 12) + + + %M - minute as a decimal number + + + %n - newline character + + + %p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale + + + %r - time in a.m. and p.m. notation + + + %R - time in 24 hour notation + + + %S - second as a decimal number + + + %t - tab character + + + %T - current time, equal to %H:%M:%S + + + %u - weekday as a decimal number [1,7], with 1 representing Monday + + + %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week + + + %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. + + + %w - day of the week as a decimal, Sunday being 0 + + + %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week + + + %x - preferred date representation for the current locale without the time + + + %X - preferred time representation for the current locale without the date + + + %y - year as a decimal number without a century (range 00 to 99) + + + %Y - year as a decimal number including the century + + + %Z - time zone or name or abbreviation + + + %% - a literal `%' character + + + + Programmers note + + date_format is essentially a wrapper to PHP's strftime() + function. You may have more or less conversion specifiers available depending + on your system's strftime() function where PHP was compiled. Check your + system's manpage for a full list of valid specifiers. + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-default.xml b/docs/en/designers/language-modifiers/language-modifier-default.xml new file mode 100644 index 00000000..9eebb629 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-default.xml @@ -0,0 +1,90 @@ + + + + default + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + No + empty + This is the default value to output if the + variable is empty. + + + + + + This is used to set a default value for a variable. If the variable + is empty or unset, the given default value is printed instead. + Default takes one argument. + + + default + +assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-escape.xml b/docs/en/designers/language-modifiers/language-modifier-escape.xml new file mode 100644 index 00000000..e3c2ff09 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-escape.xml @@ -0,0 +1,103 @@ + + + + escape + + + + + + + + + + + Parameter Position + Type + Required + Possible Values + Default + Description + + + + + 1 + string + No + html,htmlall,url,quotes,hex,hexentity,javascript + html + This is the escape format to use. + + + + + + This is used to html escape, url escape, escape single quotes on a + variable not already escaped, hex escape, hexentity or javascript escape. + By default, the variable is html + escaped. + + + escape + +assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + *} +{$articleTitle|escape:"htmlall"} {* escapes ALL html entities *} +{$articleTitle|escape:"url"} +{$articleTitle|escape:"quotes"} +{$EmailAddress|escape:"hexentity"} +]]> + + + This will output: + + +bob@me.net +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-indent.xml b/docs/en/designers/language-modifiers/language-modifier-indent.xml new file mode 100644 index 00000000..e2125b92 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-indent.xml @@ -0,0 +1,116 @@ + + + + indent + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + integer + No + 4 + This determines how many characters to indent + to. + + + 2 + string + No + (one space) + This is the character used to indent with. + + + + + + This indents a string at each line, default is 4. As + an optional parameter, you can specify the number of characters to + indent. As an optional second parameter, you can specify the + character to use to indent with. (Use "\t" for tabs.) + + + indent + +assign('articleTitle', 'NJ judge to rule on nude beach.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + this will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-lower.xml b/docs/en/designers/language-modifiers/language-modifier-lower.xml new file mode 100644 index 00000000..2d0b9183 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-lower.xml @@ -0,0 +1,60 @@ + + + + lower + + This is used to lowercase a variable. + + + lower + +assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-nl2br.xml b/docs/en/designers/language-modifiers/language-modifier-nl2br.xml new file mode 100644 index 00000000..23b2a771 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-nl2br.xml @@ -0,0 +1,59 @@ + + + + nl2br + + All linebreaks will be converted to <br /> tags in the given + variable. This is equivalent to the PHP nl2br() function. + + + nl2br + +assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This should output: + + +today, dark tonight +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml new file mode 100644 index 00000000..621d1600 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml @@ -0,0 +1,98 @@ + + + + regex_replace + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + Yes + n/a + This is the regular expression to be replaced. + + + 2 + string + Yes + n/a + This is the string of text to replace with. + + + + + + A regular expression search and replace on a variable. Use the + syntax for preg_replace() from the PHP manual. + + + regex_replace + +assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This should output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-replace.xml b/docs/en/designers/language-modifiers/language-modifier-replace.xml new file mode 100644 index 00000000..4f7e84f8 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-replace.xml @@ -0,0 +1,96 @@ + + + + replace + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + Yes + n/a + This is the string of text to be replaced. + + + 2 + string + Yes + n/a + This is the string of text to replace with. + + + + + + A simple search and replace on a variable. + + + replace + +assign('articleTitle', "Child's Stool Great for Use in Garden."); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This should output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-spacify.xml b/docs/en/designers/language-modifiers/language-modifier-spacify.xml new file mode 100644 index 00000000..66e5fe10 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-spacify.xml @@ -0,0 +1,89 @@ + + + + spacify + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + No + one space + This what gets inserted between each character of + the variable. + + + + + + spacify is a way to insert a space between every character of a variable. + You can optionally pass a different character (or string) to insert. + + + spacify + +assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); +$smarty->display('index.tpl'); +?> +]]> + + + Where index.tpl is: + + + + + + This should output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-string-format.xml b/docs/en/designers/language-modifiers/language-modifier-string-format.xml new file mode 100644 index 00000000..e5724be0 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-string-format.xml @@ -0,0 +1,90 @@ + + + + string_format + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + string + Yes + n/a + This is what format to use. (sprintf) + + + + + + This is a way to format strings, such as decimal numbers and such. + Use the syntax for sprintf for the formatting. + + + string_format + +assign('number', 23.5787446); +$smarty->display('index.tpl'); + +?> +]]> + + + Where index.tpl is: + + + + + + This should output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml new file mode 100644 index 00000000..5c6a0a66 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml @@ -0,0 +1,61 @@ + + + + strip_tags + + This strips out markup tags, basically anything between < and >. + + + strip_tags + +assign('articleTitle', "Blind Woman Gets New +Kidney from Dad she Hasn't Seen in years."); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + + + + This will output: + + +New Kidney from Dad she Hasn't Seen in years. +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. +]]> + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-strip.xml b/docs/en/designers/language-modifiers/language-modifier-strip.xml new file mode 100644 index 00000000..6532cf7e --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-strip.xml @@ -0,0 +1,71 @@ + + + + strip + + This replaces all repeated spaces, newlines and tabs with a single + space, or with a supplied string. + + + Note + + If you want to strip blocks of template text, use the strip function. + + + + strip + +assign('articleTitle', "Grandmother of\neight makes\t hole in one."); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-truncate.xml b/docs/en/designers/language-modifiers/language-modifier-truncate.xml new file mode 100644 index 00000000..70c47e0e --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-truncate.xml @@ -0,0 +1,119 @@ + + + + truncate + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + integer + No + 80 + This determines how many characters to truncate + to. + + + 2 + string + No + ... + This is the text to append if truncation occurs. + + + 3 + boolean + No + false + This determines whether or not to truncate at a + word boundary (false), or at the exact character (true). + + + + + + This truncates a variable to a character length, default is 80. As + an optional second parameter, you can specify a string of text + to display at the end if the variable was truncated. The + characters in the string are included with the original truncation length. + By default, truncate will attempt to cut off at a word boundary. If + you want to cut off at the exact character length, pass the optional + third parameter of true. + + + truncate + +assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-upper.xml b/docs/en/designers/language-modifiers/language-modifier-upper.xml new file mode 100644 index 00000000..adfc9fbe --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-upper.xml @@ -0,0 +1,60 @@ + + + + upper + + This is used to uppercase a variable. + + + upper + +assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + + + + This will output: + + + + + + + \ No newline at end of file diff --git a/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml new file mode 100644 index 00000000..ad09ee93 --- /dev/null +++ b/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml @@ -0,0 +1,131 @@ + + + + wordwrap + + + + + + + + + + Parameter Position + Type + Required + Default + Description + + + + + 1 + integer + No + 80 + This determines how many columns to wrap + to. + + + 2 + string + No + \n + This is the string used to wrap words with. + + + 3 + boolean + No + false + This determines whether or not to wrap at a + word boundary (false), or at the exact character (true). + + + + + + This wraps a string to a column width, default is 80. As + an optional second parameter, you can specify a string of text + to wrap the text to the next line (default is carriage return \n). + By default, wordwrap will attempt to wrap at a word boundary. If + you want to cut off at the exact character length, pass the optional + third parameter of true. + + + wordwrap + +assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + +\n"} + +{$articleTitle|wordwrap:30:"\n":true} +]]> + + + This will output: + + + +from dad she hasn't seen in
+years. + +Blind woman gets new kidney +from dad she hasn't seen in +years. +]]> +
+
+
+ \ No newline at end of file diff --git a/docs/en/designers/language-variables.xml b/docs/en/designers/language-variables.xml index 76724bb6..480b2e9c 100644 --- a/docs/en/designers/language-variables.xml +++ b/docs/en/designers/language-variables.xml @@ -23,375 +23,11 @@ - - Variables assigned from PHP - - Variables that are assigned from PHP are referenced by preceding them with - a dollar sign $. Variables assigned from within the - template with the assign - function are also displayed this way. - - +&designers.language-variables.language-assigned-variables; - assigned variables - - -Your last login was on {$lastLoginDate}. -]]> - - - This will output: - - - -Your last login was on January 11th, 2001. -]]> - - +&designers.language-variables.language-config-variables; - - Associative arrays - - You can also reference associative array variables that are - assigned from PHP by specifying the key after the '.' (period) - symbol. - - - accessing associative array variables - -assign('Contacts', - array('fax' => '555-222-9876', - 'email' => 'zaphod@slartibartfast.com', - 'phone' => array('home' => '555-444-3333', - 'cell' => '555-111-1234'))); -$smarty->display('index.tpl'); -?> -]]> - - - where the content of index.tpl is: - - - -{$Contacts.email}
-{* you can print arrays of arrays as well *} -{$Contacts.phone.home}
-{$Contacts.phone.cell}
-]]> -
- - this will output: - - - -zaphod@slartibartfast.com
-555-444-3333
-555-111-1234
-]]> -
-
-
- - Array indexes - - You can reference arrays by their index, much like native PHP - syntax. - - - accessing arrays by index - -assign('Contacts', - array('555-222-9876', - 'zaphod@slartibartfast.com', - array('555-444-3333', - '555-111-1234'))); -$smarty->display('index.tpl'); - -?> -]]> - - - where index.tpl is: - - - -{$Contacts[1]}
-{* you can print arrays of arrays as well *} -{$Contacts[2][0]}
-{$Contacts[2][1]}
-]]> -
- - This will output: - - - -zaphod@slartibartfast.com
-555-444-3333
-555-111-1234
-]]> -
-
-
- - Objects - - Properties of objects assigned from PHP can be referenced - by specifying the property name after the '->' symbol. - - - accessing object properties - -name}
-email: {$person->email}
-]]> -
- - this will output: - - - -email: zaphod@slartibartfast.com
-]]> -
-
-
-
- - - Variables loaded from config files - - Variables that are loaded from the config files are referenced by - enclosing them within hash marks (#), or with the smarty variable - $smarty.config. - The second syntax is useful for embedding into quoted attribute - values. - - - config variables - - foo.conf: - - - - - - index.tpl: - - - -{#pageTitle#} - - - - - - - -
FirstLastAddress
- - -]]> -
- - index.tpl: (alternate syntax) - - - -{$smarty.config.pageTitle} - - - - - - - -
FirstLastAddress
- - -]]> -
- - this will output for both examples: - - - -This is mine - - - - - - - -
FirstLastAddress
- - -]]> -
-
- - Config file variables cannot be used until - after they are loaded in from a config file. This procedure is - explained later in this document under config_load. - -
- - - {$smarty} reserved variable - - The reserved {$smarty} variable can be used to access several - special template variables. The full list of them follows. - - - - Request variables - - The request variables such as get, post, cookies, server, - environment, and session variables can be accessed as demonstrated - in the examples below: - - - displaying request variables - - - - - - - For historical reasons {$SCRIPT_NAME} can be accessed - directly though {$smarty.server.SCRIPT_NAME} is the - proposed way to access this value. - - - - - - {$smarty.now} - - The current timestamp can be accessed with {$smarty.now}. The - number reflects the number of seconds passed since the so-called - Epoch (January 1, 1970) and can be passed directly to - date_format modifier for display purposes. - - - using {$smarty.now} - - - - - - - {$smarty.const} - - You can access PHP constant values directly. - - - using {$smarty.const} - - - - - - - - {$smarty.capture} - - The output captured via {capture}..{/capture} construct can be - accessed using {$smarty} variable. See section on - capture for an example. - - - - - {$smarty.config} - - {$smarty} variable can be used to refer to loaded config variables. - {$smarty.config.foo} is a synonym for {#foo#}. See the section on - config_load for an example. - - - - - {$smarty.section}, {$smarty.foreach} - - {$smarty} variable can be used to refer to 'section' and - 'foreach' loop properties. See docs for - section and - foreach. - - - - - {$smarty.template} - - This variable contains the name of the current template being - processed. - - - - {$smarty.version} - - This variable contains the version of Smarty the template was compiled with. - - - - +&designers.language-variables.language-variables-smarty; + + Variables assigned from PHP + + Variables that are assigned from PHP are referenced by preceding them with + a dollar sign $. Variables assigned from within the + template with the assign + function are also displayed this way. + + + + assigned variables + + +Your last login was on {$lastLoginDate}. +]]> + + + This will output: + + + +Your last login was on January 11th, 2001. +]]> + + + + + Associative arrays + + You can also reference associative array variables that are + assigned from PHP by specifying the key after the '.' (period) + symbol. + + + accessing associative array variables + +assign('Contacts', + array('fax' => '555-222-9876', + 'email' => 'zaphod@slartibartfast.com', + 'phone' => array('home' => '555-444-3333', + 'cell' => '555-111-1234'))); +$smarty->display('index.tpl'); +?> +]]> + + + where the content of index.tpl is: + + + +{$Contacts.email}
+{* you can print arrays of arrays as well *} +{$Contacts.phone.home}
+{$Contacts.phone.cell}
+]]> +
+ + this will output: + + + +zaphod@slartibartfast.com
+555-444-3333
+555-111-1234
+]]> +
+
+
+ + Array indexes + + You can reference arrays by their index, much like native PHP + syntax. + + + accessing arrays by index + +assign('Contacts', + array('555-222-9876', + 'zaphod@slartibartfast.com', + array('555-444-3333', + '555-111-1234'))); +$smarty->display('index.tpl'); + +?> +]]> + + + where index.tpl is: + + + +{$Contacts[1]}
+{* you can print arrays of arrays as well *} +{$Contacts[2][0]}
+{$Contacts[2][1]}
+]]> +
+ + This will output: + + + +zaphod@slartibartfast.com
+555-444-3333
+555-111-1234
+]]> +
+
+
+ + Objects + + Properties of objects assigned from PHP can be referenced + by specifying the property name after the '->' symbol. + + + accessing object properties + +name}
+email: {$person->email}
+]]> +
+ + this will output: + + + +email: zaphod@slartibartfast.com
+]]> +
+
+
+
+ \ No newline at end of file diff --git a/docs/en/designers/language-variables/language-config-variables.xml b/docs/en/designers/language-variables/language-config-variables.xml new file mode 100644 index 00000000..a8438c12 --- /dev/null +++ b/docs/en/designers/language-variables/language-config-variables.xml @@ -0,0 +1,112 @@ + + + + Variables loaded from config files + + Variables that are loaded from the config files are referenced by + enclosing them within hash marks (#), or with the smarty variable + $smarty.config. + The second syntax is useful for embedding into quoted attribute + values. + + + config variables + + foo.conf: + + + + + + index.tpl: + + + +{#pageTitle#} + + + + + + + +
FirstLastAddress
+ + +]]> +
+ + index.tpl: (alternate syntax) + + + +{$smarty.config.pageTitle} + + + + + + + +
FirstLastAddress
+ + +]]> +
+ + this will output for both examples: + + + +This is mine + + + + + + + +
FirstLastAddress
+ + +]]> +
+
+ + Config file variables cannot be used until + after they are loaded in from a config file. This procedure is + explained later in this document under config_load. + +
+ \ No newline at end of file diff --git a/docs/en/designers/language-variables/language-variables-smarty.xml b/docs/en/designers/language-variables/language-variables-smarty.xml new file mode 100644 index 00000000..5b3125f0 --- /dev/null +++ b/docs/en/designers/language-variables/language-variables-smarty.xml @@ -0,0 +1,148 @@ + + + + {$smarty} reserved variable + + The reserved {$smarty} variable can be used to access several + special template variables. The full list of them follows. + + + + Request variables + + The request variables such as get, post, cookies, server, + environment, and session variables can be accessed as demonstrated + in the examples below: + + + displaying request variables + + + + + + + For historical reasons {$SCRIPT_NAME} can be accessed + directly though {$smarty.server.SCRIPT_NAME} is the + proposed way to access this value. + + + + + + {$smarty.now} + + The current timestamp can be accessed with {$smarty.now}. The + number reflects the number of seconds passed since the so-called + Epoch (January 1, 1970) and can be passed directly to + date_format modifier for display purposes. + + + using {$smarty.now} + + + + + + + {$smarty.const} + + You can access PHP constant values directly. + + + using {$smarty.const} + + + + + + + + {$smarty.capture} + + The output captured via {capture}..{/capture} construct can be + accessed using {$smarty} variable. See section on + capture for an example. + + + + + {$smarty.config} + + {$smarty} variable can be used to refer to loaded config variables. + {$smarty.config.foo} is a synonym for {#foo#}. See the section on + config_load for an example. + + + + + {$smarty.section}, {$smarty.foreach} + + {$smarty} variable can be used to refer to 'section' and + 'foreach' loop properties. See docs for + section and + foreach. + + + + + {$smarty.template} + + This variable contains the name of the current template being + processed. + + + + {$smarty.version} + + This variable contains the version of Smarty the template was compiled with. + + + + + \ No newline at end of file diff --git a/docs/fr/designers/language-basic-syntax.xml b/docs/fr/designers/language-basic-syntax.xml index c91bfb5a..293428e2 100644 --- a/docs/fr/designers/language-basic-syntax.xml +++ b/docs/fr/designers/language-basic-syntax.xml @@ -15,130 +15,12 @@ appropriйe, en lieu et place. - - Commentaires - - Les commentaires dans Smarty sont entourйs d'asterisques, de cette - faзon : {* voici un commentaire *} - Les commentaires Smarty ne sont pas affichйs dans la sortie finale du - template. - Ils sont utilisйs pour des notes internes, dans le template, pour aider - les dйveloppeurs а en comprendre le fonctionnement. - - - Commentaires - -{* Smarty *} +&designers.language-basic-syntax.language-syntax-comments; -{* Inclusion de l'en tкte *} -{include file="header.tpl"} +&designers.language-basic-syntax.language-syntax-functions; -{include file=$includeFile} - -{include file=#includeFile#} - -{* affiche des listes dйroulantes *} -<SELECT name=company> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - - Fonctions - - Les balises Smarty affichent une variable - ou invoquent une fonction. Les fonctions sont appelйes - lorsqu'elles sont entourйes, ainsi que leurs paramиtres, des dйlimiteurs Smarty. - Par exemple : {nomfonction par1="val" par2="val"}. - - - syntaxe des fonctions - -{config_load file="colors.conf"} - -{include file="header.tpl"} - -{if $name eq "Fred"} - Vous кtes admis dans cette zone -{else} - Bienvenue, <font color="{#fontColor#}">{$name}!</font> -{/if} - -{include file="footer.tpl"} - - - Les fonctions natives et les fonctions utilisateurs ont toutes deux la mкme - syntaxe, dans les templates. Les fonctions natives sont relatives - au traitement interne de Smarty, comme par exemple if, - section et strip. Elles ne peuvent - кtre modifiйes. Les fonctions utilisateurs sont des fonctions additionnelles, - implйmentйes par l'intermйdiaire de plugins. - Elles peuvent кtre modifiйes pour correspondre а vos besoins, et vous - pouvez en crйer de nouvelles. html_options et - html_select_date sont deux exemples de fonctions - utilisateurs. - - - - - Paramиtres - - La plupart des fonctions attendent des paramиtres qui rйgissent leur - comportement. Les paramиtres des fonctions Smarty sont trиs proches des - attributs des balises HTML. Les valeurs numйriques n'ont pas besoin d'кtre - entourйes par des guillemets, par contre, ces guillemets sont recommandйes lors - de l'utilisation de chaоnes de caractиres. Des variables peuvent aussi кtre - utilisйes en tant que paramиtres, et ne doivent pas кtre entourйes de guillemets. - - - Certains paramиtres requiиrent des valeurs boolйennes (true / false). - Elles peuvent кtre spйcifiйes par l'une des valeures suivantes, sans - guillemet: true, on, et yes, - ou false, off, et no. - - - Paramиtres de fonction, syntaxe - -{include file="header.tpl"} - -{include file=$includeFile} - -{include file=#includeFile#} - -{html_select_date display_days=yes} - -<SELECT name=company> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - Variables insйrйes dans des chaоnes de caractиres - - Smarty est capable d'interprйter les variables insйrйes а l'intйrieur de - chaоnes entre guillemets, du moment que leur nom est exclusivement composй - de chiffres, lettres, underscores et crochets. Si le nom de la variable - contient tout autre caractиre (point, rйfйrence а un objet, etc.) - la variable doit кtre entourйe d'apostrophes inverses (`). - - - Syntaxe d'insertion de variables dans des chaоnes - -EXEMPLE DE SYNTAXE: -{func var="test $foo test"} <-- comprends $foo -{func var="test $foo_bar test"} <-- comprends $foo_bar -{func var="test $foo[0] test"} <-- comprends $foo[0] -{func var="test $foo[bar] test"} <-- comprends $foo[bar] -{func var="test $foo.bar test"} <-- comprends $foo (not $foo.bar) -{func var="test `$foo.bar` test"} <-- comprends $foo.bar - -EXEMPLE PRATIQUE: -{include file="subdir/$tpl_name.tpl"} <-- remplace $tpl_name avec la valeur -{cycle values="one,two,`$smarty.config.myval`"} <-- doit comporter les -apostrophes inverses - - +&designers.language-basic-syntax.language-syntax-attributes; +&designers.language-basic-syntax.language-syntax-quotes; + + Matemбtica + + Matemбtica pode ser aplicada diretamente em valores de variбveis. + + + Exemplos de matemбtica + +{$foo+1} + +{$foo*$bar} + +{* alguns exemplos mais complicados *} + +{$foo->bar-$bar[1]*$baz->foo->bar()-3*7} + +{if ($foo+$bar.test%$baz*134232+10+$b+10)} + +{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"} + +{assign var="foo" value="`$foo+$bar`"} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml new file mode 100644 index 00000000..9d83707c --- /dev/null +++ b/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml @@ -0,0 +1,54 @@ + + + + Atributos + + A maioria das funзхes levam atributos que especificam ou modificam o seu + funcionamento. Atributos para funзхes Smarty sгo muito parecidos como + atributos HTML. Valores estбticos sгo precisam estar entre aspas, + mas й recomendados para strings literais. Variбveis tambйm podem ser + usadas, e nгo precisam estar entre aspas. + + + Alguns atributos requerem valores booleanos (true ou false). Estes podem + ser especificados sem aspas true, + on, e yes, ou + false, off, e + no. + + + Sintaxe de atributos de funзхes + +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{html_select_date display_days=yes} + +<SELECT name=company> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml b/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml new file mode 100644 index 00000000..c82de5c8 --- /dev/null +++ b/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml @@ -0,0 +1,48 @@ + + + + Comentбrios + + Comentбrios de template sгo cercados por asteriscos, e sгo cercados por + delimitadores, assim: {* este й um comentбrio *}. + Comentбrios Smarty nгo sгo mostrado na saнda final do template. + Eles sгo usados para fazer notas internas nos templates. + + + Comentбrios + +{* Smarty *} + +{* inclui o arquivo header aqui *} +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{* Mostra listas dropdown *} +<SELECT name=company> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml b/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml new file mode 100644 index 00000000..f91f0d0c --- /dev/null +++ b/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml @@ -0,0 +1,56 @@ + + + + Funзхes + + Cada tag Smarty mostra uma + variбvel ou utiliza algum tipo de + funзгo. Funзхes sгo processadas e mostradas colocando-se a funзгo e seus + atributos entre delimitadores, assim: {funcname + attr1="val" attr2="val"}. + + + Sintaxe de funзхes + +{config_load file="colors.conf"} + +{include file="header.tpl"} + +{if $highlight_name} + Welcome, <font color="{#fontColor#}">{$name}!</font> +{else} + Welcome, {$name}! +{/if} + +{include file="footer.tpl"} + + + Ambas as funзхes internas e as funзхes customizadas tem a mesma sintaxe nos + templates. Funзхes internas sгo o funcionamento do Smarty, + assim como if, section e + strip. Elas nгo podem ser modificadas. Funзхes customizadas + sгo funзхes adicionais implementadas por plugins. Elas podem ser modificadas + como vocк quiser, ou vocк pode adionar novas. html_options e + html_select_date sгo exemplos de funзхes customizadas. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml new file mode 100644 index 00000000..38edae3b --- /dev/null +++ b/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml @@ -0,0 +1,46 @@ + + + + Colocando Variбveis em Aspas Duplas + + Smarty irб reconhecer variбveis entre aspas duplas enquanto + as variбveis conterem apenas nъmeros, letras, sublinhados e conchetes + []. Com qualquer outro caractere (pontos, referencia de objetos, etc.) as variбveis + devem estar entre apуstrofos. + + + Sintaxe entre aspas + +EXEMPLOS DE SINTAXE: +{func var="test $foo test"} <-- vк $foo +{func var="test $foo_bar test"} <-- vк $foo_bar +{func var="test $foo[0] test"} <-- vк $foo[0] +{func var="test $foo[bar] test"} <-- vк $foo[bar] +{func var="test $foo.bar test"} <-- vк $foo (not $foo.bar) +{func var="test `$foo.bar` test"} <-- vк $foo.bar + +EXEMPLOS PRATICOS: +{include file="subdir/$tpl_name.tpl"} <-- irб substituir $tpl_name com o valor +{cycle values="one,two,`$smarty.config.myval`"} <-- deve ter apуstrofos + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions.xml b/docs/pt_BR/designers/language-builtin-functions.xml index ba17b028..1cf0a9d3 100644 --- a/docs/pt_BR/designers/language-builtin-functions.xml +++ b/docs/pt_BR/designers/language-builtin-functions.xml @@ -7,1451 +7,18 @@ da linguagem de template. Vocк nгo pode criar funзхes personalizadas com o mesmo nome, nem pode modificar as funзхes embutidas. - - capture - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Nгo - default - O nome do bloco capturado - - - assign - string - Nгo - n/a - O nome da variбvel para dar o valor da saнda capturada - - - - - - capture й usado para coletar toda a saнda do template em uma variбvel ao invйs - de mostra-lo. Qualquer conteъdo entre {capture - name="foo"} e {/capture} coletado na variбvel especificada no atributo name. - O conteъdo capturado pode ser usado no template a apertir da variбvel especial - $smarty.capture.foo aonde foo й o valor passado para o atributo name. Se vocк nгo - passar um atributo name, entгo serб usado "default". Todos os comandos - {capture} devem ter o seu {/capture}. Vocк pode aninhar(colocar um dentro de outro) - comandos capture. - - - Nota Tecnica - - Smarty 1.4.0 - 1.4.4 coloca o conteъdo capturado dentro da variбvel - chamada $return. A partir do 1.4.5, este funcionamento foi mudado - para usar o atributo name, entгo atualize os seus templates de acordo. - - - - - Tenha cuidado quando capturar a saнda do comando insert. - Se vocк tiver o cache em on e vocк tiver comandos insert - que vocк espera que funcione com conteъdo do cache, - nгo capture este conteъdo. - - - - - capturando conteъdo do template - -{* we don't want to print a table row unless content is displayed *} -{capture name=banner} -{include file="get_banner.tpl"} -{/capture} -{if $smarty.capture.banner ne ""} - <tr> - <td> - {$smarty.capture.banner} - </td> - </tr> -{/if} - - - - - config_load - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - file - string - Sim - n/a - O nome do arquivo de configuraзгo para incluir - - - section - string - Nгo - n/a - O nome da seзгo a carregar - - - scope - string - Nгo - local - - Como o escopo das variбveis carregadas й tratado, - o qual deve ser um entre local, parent ou global. local - indica que as variбveis sгo carregadas no contexto do - template local apenas. parent indica que as variбveis sгo carregadas - no contexto atual e no template que o chamou. global indica - que as variбveis estгo - disponнveis para todos os templates. - - - - global - boolean - No - No - - Quando ou nгo as variбveis sгo visiveis para o template - superior(aquele que chamou este), o mesmo que scope=parent. - NOTA: este atributo esta obsoleto pelo atributo scope, mas - ainda й suportado. Se scope for indicado, este valor й ignorado. - - - - - - - Esta funзгo й usada para carregar as variбveis de um arquivo de configuraзгo - dentro de um template. Veja Config Files - para maiores - informaзхes. - - -Funзгo config_load - - -{config_load file="colors.conf"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - Arquivos de configuraзгo podem conter seзхes tambйm. Voce pode carregar - variбveis de uma seзгo adicionando o atributo - section. - - - NOTA: Config file sections e a funзгo embutida de - template section nгo tem nada a ver um com o outro, - eles apenas tem uma mesma - convenзгo de nomes. - - -Funзгo config_load com seзхes - -{config_load file="colors.conf" section="Customer"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - - foreach,foreachelse - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - from - string - Sim - n/a - O nome da matriz que vocк estarб pegando os elementos - - - item - string - Yes - n/a - O nome da variбvel - que й o elemento atual - - - key - string - Nгo - n/a - O nome da variбvel que й a chave atual - - - name - string - Nгo - n/a - O nome do loop foreach para acessar as - propriedades foreach - - - - - - Loops foreach sгo uma alternativa para loops - section. foreach й usado - para pegar cada elemento de uma matriz associativa simples. - A sintaxe para foreach й muito mais simples do que - section, mas tem a desvantagem de poder ser usada - apenas para uma ъnica matriz. Tags foreach devem ter - seu par /foreach. Os parвmetros requeridos sгo - from e item. O nome do loop - foreach pode ser qualquer coisa que vocк queira, feito de letras, nъmeros - e sublinhados. Loops foreach - podem ser aninhados, e o nome dos loops aninhados devem ser diferentes - um dos outros. A variбvel from (normalmente uma - matriz de valores) determina o nъmero de vezes do loop - foreach. - foreachelse й executado quando nгo houverem mais valores - na variбvel from. - - -foreach - - -{* este exemplo irб mostrar todos os valores da matriz $custid *} -{foreach from=$custid item=curr_id} - id: {$curr_id}<br> -{/foreach} - -MOSTRA: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -foreach key - -{* A key contйm a chave para cada valor do loop - -A definiзгo й alo assim: - -$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); - -*} - -{foreach name=outer item=contact from=$contacts} - {foreach key=key item=item from=$contact} - {$key}: {$item}<br> - {/foreach} -{/foreach} - -MOSTRA: - -phone: 1<br> -fax: 2<br> -cell: 3<br> -phone: 555-4444<br> -fax: 555-3333<br> -cell: 760-1234<br> - - - - Loop foreach tambйm tem as suas prуprias variбveis para manipilar a as propriedades - foreach. Estas sгo indicadas assim: {$smarty.foreach.foreachname.varname} com - foreachname sendo o nome especificado no atributo - name do foreach. - - - - - iteration - - iteration й usado para mostrar a interaзгo atual do loop. - - - Iteration sempre comeзa em 1 e - й incrementado um a um em cada interaзгo. - - - - - first - - first й definido como true se a interaзгo atual - do foreach for a primeira. - - - - - last - - last й definido como true se a interaзгo atual - do foreach for a ъltima. - - - - - show - - show й usado como parвmetro para o foreach. - show й um valor booleano, true ou false. Se - false, o foreach nгo serб mostrado. Se tiver um foreachelse - presente, este serб alternativamente mostrado. - - - - - total - - total й usado para mostrar o nъmero de interaзхes do - foreach. Isto pode ser usado dentro ou depois do foreach. - - - - - - - - - - include - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - file - string - Sim - n/a - O nome do arquivo de template a incluir - - - assign - string - Nгo - n/a - O nome de uma variбvel que irб - conter toda a saнda do template - - - [var ...] - [var type] - Nгo - n/a - Variбvel para passar localmente para o template - - - - - - Tags include sгo usados para incluir outros templates no template - atual. Quaisquer variбveis disponнveis no template atual tambйm esta - disponнvel dentro do template incluido. A tag include deve ter o atributo - "file", o qual contйm o caminho do arquivo a incluir. - - - Vocк pode opcionalmente passar o atributo assign, - o qual irб especificar o nome de uma variбvel de template para a qual - conterб toda a saнda de include ao - invйs de mostra-la. - - -function include - -{include file="header.tpl"} - -{* O corpo do template vai aqui *} - -{include file="footer.tpl"} - - - Vocк pode tambйm passar variбveis para o template incluнdo como atributos. - Quaisquer variбveis passadas para um template incluнdo como atributos - estгo disponнveis somente dentro do escopo do template incluнdo. - As variбveis passadas como atributos sobrescrevem as variбveis de - template atuais, no caso de ambas terem o mesmo nome. - - -Funзгo include passando variбveis - -{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} - -{* O corpo de template vai aqui *} - -{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} - - - Use a sintaxe para template resources para - incluir arquivos fora do diretуrio $template_dir. - - -Exemplos de recursos para a funзгo include - -{* caminho absoluto *} -{include file="/usr/local/include/templates/header.tpl"} - -{* caminho absoluto (mesma coisa) *} -{include file="file:/usr/local/include/templates/header.tpl"} - -{* caminho absoluto do windows (DEVE usar o prefixo "file:") *} -{include file="file:C:/www/pub/templates/header.tpl"} - -{* incluir a partir do recurso de template chamado "db" *} -{include file="db:header.tpl"} - - - - include_php - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - file - string - Sim - n/a - O nome do arquivo php a incluir - - - once - boolean - Nгo - true - Quando incluir ou nгo o arquivo php mais de uma vez se - incluнdo vбrias vezes - - - assign - string - Nгo - n/a - O nome da variбvel - que receberб a saнda do arquivo php - - - - - - Tags include_php sгo usadas para incluir um script php no seu template. - Se a seguranзa estiver ativada, entгo o script php deve estar localizado - no caminho $trusted_dir. A tag include_php deve ter o atributo - "file", o qual contйm o caminho para o arquivo php a ser incluнdo, - ou relativo a $trusted_dir, ou um caminho absoluto. - - - include_php й um bom meio de manipular templates com componentes, - e mante o cуdigo PHP separado dos arquivos de template. Vamos dizer - que vocк tenha um template que mostre a navegaзгo do seu site, o qual - й prenchido automaticamente a partir de um banco de dados. Vocк pode - manter a sua lуgica PHP que obtйm os dados em um diretуrio separado, - e inclui-la no topo do template. Agora vocк pode incluir este template - em qualquer lugar sem se preocupar se a informaзгo do banco de dados foi - obtida antes de usar. - - - Por padrгo, os arquivos php sгo incluнdos apenas uma vez mesmo - se incluнdos vбrias vezes no template. Vocк pode especificar que ele - seja incluнdo todas as vezes com o atributo once. - Definindo once para false irб incluir o script php a cada vez que - ele seja incluнdo no template. - - - Vocк pode opcionalmente passar o atributo assign, - o qual irб especificar uma variбvel de template a qual irб conter - toda a saнda de - include_php em vez de mostra-la. - - - O objeto smarty esta disponнvel como $this dentro do - script php que vocк incluiu. - - -Funзгo include_php - -load_nav.php -------------- - -<?php - - // carrega variбveis de um banco de dados mysql e define ela para o template - require_once("MySQL.class.php"); - $sql = new MySQL; - $sql->query("select * from site_nav_sections order by name",SQL_ALL); - $this->assign('sections',$sql->record); - -?> - - -index.tpl ---------- - -{* caminho absoluto ou relativo a $trusted_dir *} -{include_php file="/path/to/load_nav.php"} - -{foreach item="curr_section" from=$sections} - <a href="{$curr_section.url}">{$curr_section.name}</a><br> -{/foreach} - - - - insert - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Sim - n/a - O nome da funзгo insert (insert_name) - - - assign - string - Nгo - n/a - O nome da variбvel que - irб receber a saнda - - - script - string - Nгo - n/a - O nome de um script php que serб incluido - antes que a funзгo insert seja chamada - - - [var ...] - [var type] - Nгo - n/a - Variбvel para passar para a funзгo insert - - - - - - Tags insert funcionam parecido com as tags include, exceto que as tags - insert nгo vгo para o cache quando caching esta ativado. Ela serб - executada a cada invocaзгo do template. - - - Vamos dizer que vocк tenha um template com um banner em cima. O - banner pode conter qualquer mistura de html, imagens, flash, etc. - Assin nуs nгo podemos usar uma ligaзгo estatica aqui, e nуs nгo - queremos que este conteъdo fique no cache com a pбgina. Aqui vem a tag - insert: o template conhece os valores #banner_location_id# e - #site_id# (obtidos de um arquivo de configuraзгo), e precisa chamar - uma funзгo para obter o conteъdo do banner. - - -function insert - -{* example of fetching a banner *} -{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - - - Neste exemplo, nуs estamos usando o nome "getBanner" e passando os parвmetros - #banner_location_id# e #site_id#. O Smarty irб procurar por uma funзгo chamada - insert_getBanner() na sua aplicaзгo PHP, passando os valores de - #banner_location_id# e #site_id# como primeiro argumento em uma - matriz associativa. Todos os nomes de funзгo insert em sua - aplicaзгo devem ser precedidas por "insert_" para prevenir possнveis - problemas com nomes de funзхes repetidos. Sua funзгo insert_getBanner() - deve fazer alguma coisa com os valores passados e retornar os resultados. - Estes resultados sгo mostrados no template em lugar da tag insert. - Neste exemplo, o Smarty irб chamar esta funзгo: - insert_getBanner(array("lid" => "12345","sid" => "67890")); - e mostrar o resultado retornado no lugar da tag insert. - - - Se vocк der o atributo "assign", a saнda da tag insert serб - dada para esta variбvel ao invйs de ser mostrada - no template. Nota: definir a saнda para uma variбvel nгo й - ъtil quando o cache esta ativo. - - - Se vocк der o atributo "script", este script php serб incluido - (apenas uma vez) antes da execuзгo da funзгo insert. Este - й o caso onde a funзгo insert nгo existe ainda, e um script - php deve ser incluнdo antes para faze-la funcionar. O caminho pode - ser absoluto ou relativo a $trusted_dir. Quando a seguranзa esta - ativada, o script deve estar em $trusted_dir. - - - O objeto Smarty й passado como segundo argumento. Desde modo - pocк pode refenciar o objeto Smarty - de dentro da funзгo. - - - Nota Tecnica - - Й possнvel ter partes do template fora do cache. - se vocк tiver caching - ativado, tags insert nгo estarгo no cache. Ela serб executada - dinamicamente a cada vez que a pбgina seja criada, mesmo com - pбginas em cache. Isto funciona bem para coisas como banners, pesquisa, - clima, resultados de pesquisa, areas de opniгo do usuбrio, etc. - - - - - if,elseif,else - - Comandos if no Smarty tem muito da mesma flexibilidade do php, - com algumas adiзхes para a ferramenta de template. - Todo if deve ter o seu - /if. else e - elseif tambйm sгo permitidos. "eq", "ne","neq", - "gt", "lt", "lte", "le", "gte" "ge","is even","is odd", "is not - even","is not odd","not","mod","div by","even by","odd - by","==","!=",">", "<","<=",">=" sгo todos os qualificadores - de condiзгo vбlidos, e ddevem estar separados - dos elementos em roda por espaзo. - - -comandos if - -{if $name eq "Fred"} - Welcome Sir. -{elseif $name eq "Wilma"} - Welcome Ma'am. -{else} - Welcome, whatever you are. -{/if} - -{* um exemplo com "or" *} -{if $name eq "Fred" or $name eq "Wilma"} - ... -{/if} - -{* o mesmo que acima *} -{if $name == "Fred" || $name == "Wilma"} - ... -{/if} - -{* a seguinte sintaxe nгo irб funcionar, qualificadores de condiзгo - devem estar separados dos elementos em torno por espaзos *} -{if $name=="Fred" || $name=="Wilma"} - ... -{/if} - - -{* parenteses sгo permitidos *} -{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#} - ... -{/if} - -{* vocк pode tambйm colocar funзхes php *} -{if count($var) gt 0} - ... -{/if} - -{* testa se o valor й par ou impar *} -{if $var is even} - ... -{/if} -{if $var is odd} - ... -{/if} -{if $var is not odd} - ... -{/if} - -{* test if var is divisible by 4 *} -{if $var is div by 4} - ... -{/if} - -{* test if var is even, grouped by two. i.e., -0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *} -{if $var is even by 2} - ... -{/if} - -{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} -{if $var is even by 3} - ... -{/if} - - - - ldelim,rdelim - - ldelim e rdelim sгo usados para mostrar os delimitadores literalmente, - no nosso caso "{" ou "}". A ferramente de template sempre - tenta interpretar os delimitadores, entгo este й o meio de contornar isso. - - -ldelim, rdelim - -{* isto irб mostrar os delimitadore no template *} - -{ldelim}funcname{rdelim} is how functions look in Smarty! - - -MOSTRA: - -{funcname} is how functions look in Smarty! - - - - literal - - Tags literal permitem que um bloco de dados seja tomado literalmente, - nгo sendo interpretado pelo smarty. Isto й ъtil - para coisas como seзхes javascript, aonde podem haver - chaves("{}") e coisas assim que possam confundir - o interpretador do template. - Qualquer coisa dentro das {literal}{/literal} nгo serб interpretado, mas mostrado como estiver. - - -Tags literal - -{literal} - <script language=javascript> - - <!-- - function isblank(field) { - if (field.value == '') - { return false; } - else - { - document.loginform.submit(); - return true; - } - } - // --> - - </script> -{/literal} - - - - php - - Tags php permitem que vocк adicione cуdigo php diretamente no template. - Nгo serб escapado, nгo importando a definiзгo de $php_handling. Isto - й apenas para usuбrios avanзados e normalmente nгo й necessбrio. - - -Tags php - -{php} - // incluindo um script php - // diretamente no template. - include("/path/to/display_weather.php"); -{/php} - - - - section,sectionelse - - - - - - - - - - Nome do atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Sim - n/a - O nome da seзгo - - - loop - [$variable_name] - Sim - n/a - O nome da variбvel para determinar o - nъmero de interaзхes - - - start - integer - Nгo - 0 A posiзгo - do нndice que a seзгo vai comeзar. Se o valor - й negativo, a posiзгo de inicio й calculada a partir - do final da matriz. For exemplo, se houverem - sete valores na matriz e start for -2, o - нndice inicial й 5. Valores invбlidos (valores fora do - tamanho da matriz) sгo automaticamente truncados - para o valor vбlido mais prуximo. - - - step - integer - Nгo - 1 - O valor do passo que serб usado para o loop - na matriz. Por exemplo, step=2 irб realizar o loop com - os нndices 0,2,4, etc. Se step for negativo, ele irб caminhar - pela matriz de trбs para frente. - - - max - integer - Nгo - 1 - Define o nъmero mбximo de loops - para a section. - - - show - boolean - Nгo - true - Determina quando mostrar ou nгo esta section - - - - - - sections de template sгo usada para realizar um loop por uma matriz. Todas as tags - section devem ter as suas - /section. Parвmetros requeridos sгo - name e loop. O nome - de section pode ser o que vocк quiser, feito de letras, - nъmeros e sublinhados. Sections podem ser aninhadas, e os nomes das section - aninhadas devem ser diferentes um dos outros. A variбvel do loop - (normalmente uma matriz de valores) determina o nъmero de vezes do - loop da section. Quando estiver mostrando uma variбvel dentro de uma section, - o nome da section deve estar ao lado da variбvel dentro de conchetes - []. sectionelse й - executado quando nгo houverem valores para a variбvel de loop. - - -section - - -{* este exemplo irб mostrar todos os valores de $custid array *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{/section} - -MOSTRA: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -loop de variбvel section - -{* a variбvel de looґp determina o nъmero de vezes do loop. - Vocв pode acessar qualquer variбvel do template dentro da section. - Este exemplo assume que $custid, $name e $address sгo todas - matrizes contendo o mesmo nъmero de valores *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - <p> -{/section} - - -MOSTRA: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -<p> - - - -Nomes de section - -{* o nome de section pode ser o que vocк quiser, - e й usado para referenciar os dados dentro da section *} -{section name=mydata loop=$custid} - id: {$custid[mydata]}<br> - name: {$name[mydata]}<br> - address: {$address[mydata]}<br> - <p> -{/section} - - - -sections aninhadas - -{* sections podem ser aninhadas tгo profundamente quanto vocк quiser. Com sections aninhadas, - vocк pode acessar estruturas de dados complexas, como matriz multi-dimensionais. - Neste exemplo, $contact_type[customer] й uma matriz de - tipos de contato para o custumer atual. *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - {section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> - {/section} - <p> -{/section} - - -MOSTRA: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: john@mydomain.com<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<br> -<p> - - - -sections e matrizes associativas - -{* Este й um exemplo de mostrar os dados de matriz associativa - dentro da section *} -{section name=customer loop=$contacts} - name: {$contacts[customer].name}<br> - home: {$contacts[customer].home}<br> - cell: {$contacts[customer].cell}<br> - e-mail: {$contacts[customer].email}<p> -{/section} - - -MOSTRA: - -name: John Smith<br> -home: 555-555-5555<br> -cell: 555-555-5555<br> -e-mail: john@mydomain.com<p> -name: Jack Jones<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<p> -name: Jane Munson<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<p> - - - - - -sectionelse - -{* sectionelse irб executar se nгo houverem mais valores $custid *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{sectionelse} - there are no values in $custid. -{/section} - - - Sections tambйm tem as suas prуprias variбveis que manipulam as propriedaes section. - Estas sгo indicadas assim: {$smarty.section.sectionname.varname} - - - NOTA: a partir do Smarty 1.5.0, a sintaxe para as variбveis de propriedades de section - mudou de {%sectionname.varname%} para - {$smarty.section.sectionname.varname}. A sintaxe antiga ainda й suportada, - mas vocк irб ver referencias apenas a nova sintaxe nos - exemplos do manual. - - - index - - index й usado para mostrar o нndice atual do loop, comeзando em zero - (ou pelo atributo start se dado), e incrementando por um (ou pelo - atributo step se dado). - - - Nota Tйcnica - - Se as propriedades section nгo for modificada, - entгo isto funciona igual a propriedade iteration da section, - exceto que comeзa em 0 ao invйs de 1. - - - - section property index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - - MOSTRA: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - - - - index_prev - - index_prev й usado para mostrar o нndice anterior do loop. - No primeiro loop, isto й definido como -1. - - - section property index_prev - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_prev] ne $custid[customer.index]} - The customer id changed<br> - {/if} - {/section} - - - MOSTRA: - - 0 id: 1000<br> - The customer id changed<br> - 1 id: 1001<br> - The customer id changed<br> - 2 id: 1002<br> - The customer id changed<br> - - - - - index_next - - index_next й usado para mostrar o prуximo indice do loop. No ъltimo loop, - isto ainda й um mais o нndice atual( respeitando a definiзгo - do atributo step, se dado.) - - - section property index_next - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - MOSTRA: - - 0 id: 1000<br> - The customer id will change<br> - 1 id: 1001<br> - The customer id will change<br> - 2 id: 1002<br> - The customer id will change<br> - - - - - iteration - - iteration й usado para mostrar a interaзгo atual do loop. - - - NOTA: isto nгo й afetado pelas propriedades start, step e - max, diferentemente das propriedade index. Iteration tambйm comeзa com 1 - ao invйs de 0 como index. rownum й um apelido para iteration, - elas funcionam de modo identico. - - - section property iteration - - {section name=customer loop=$custid start=5 step=2} - current loop iteration: {$smarty.section.customer.iteration}<br> - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - MOSTRA: - - current loop iteration: 1 - 5 id: 1000<br> - The customer id will change<br> - current loop iteration: 2 - 7 id: 1001<br> - The customer id will change<br> - current loop iteration: 3 - 9 id: 1002<br> - The customer id will change<br> - - - - - first - - first й definido como true se a interaзгo atual da section - й a primeira. - - - section property first - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - MOSTRA: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - last - - last й definido como true de a interaзгo atual da - section й a ъltima. - - - section property last - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - MOSTRA: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - rownum - - rownum й usado para mostrar a interaзгo atual do loop, - comeзando em um. Й um apelido para iteration, - elas funcionam de modo identico. - - - section property rownum - - {section name=customer loop=$custid} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - - MOSTRA: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - - - - loop - - loop й usado para mostrar o ъltimo nъmero do нndice do loop desta - section. Isto pode ser usado dentro ou depois de section. - - - section property index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.loop} customers shown above. - - MOSTRA: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - There were 3 customers shown above. - - - - - show - - show й usado como parвmetro para section. - show й um valor booleano, true ou false. Se - false, a section nгo serб mostrada. Se existir um sectionelse - presente, esta serб alternativamente mostrado. - - - section attribute show - - {* $show_customer_info deve ser passada da aplicaзгo PHP, - para regular quando mostrar ou nгo mostrar esta section *} - {section name=customer loop=$custid show=$show_customer_info} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - {if $smarty.section.customer.show} - the section was shown. - {else} - the section was not shown. - {/if} - - - MOSTRA: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - the section was shown. - - - - - total - - total й usado para mostrar o nъmero de interaзхes que esta section terб. - Isto pode ser usado dentro ou depois da section. - - - section property total - - {section name=customer loop=$custid step=2} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.total} customers shown above. - - MOSTRA: - - 0 id: 1000<br> - 2 id: 1001<br> - 4 id: 1002<br> - - There were 3 customers shown above. - - - - - - strip - - Vбrias vezes web designers tem problemas com espaзos em branco e - carriage returns afetam a saнda do HTML (browser - "features"), assim vocк tem que colocar todas as suas tags juntas para ter - os resultados desejados. Isto normalmente termina em um - template ilegнvel ou que nгo se consegue ler. - - - Tudo dentro de {strip}{/strip} no Smarty tem retirados os espaзos em branco - e carriage returns no inicio e final das linhas - antes que sejam mostrados. Deste modo vocк pode manter seu template - legнvel, e nгo se preocupar com o espaзo estra causando - problemas. - - - Nota Tйcnica - - {strip}{/strip} nгo afeta o conteъdo das variбveis de template. - Veja strip modifier - function. - - - -strip tags - -{* o seguinte estarб tudo junto em uma linha na saнda *} -{strip} -<table border=0> - <tr> - <td> - <A HREF="{$url}"> - <font color="red">This is a test</font> - </A> - </td> - </tr> -</table> -{/strip} - - -MOSTRA: - -<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> - - - Note que no exemplo acima, todas as linhas comeзam e terminam - com tags HTML. Tenha cuidado que todas as linhas ficam juntas. - Se vocк tiver texto simples no inicio ou no final de uma linha, - ele estarб junto, e pode nгo ser o resultado desejado. - - +&designers.language-builtin-functions.language-function-capture; +&designers.language-builtin-functions.language-function-config-load; +&designers.language-builtin-functions.language-function-foreach; +&designers.language-builtin-functions.language-function-include; +&designers.language-builtin-functions.language-function-include-php; +&designers.language-builtin-functions.language-function-insert; +&designers.language-builtin-functions.language-function-if; +&designers.language-builtin-functions.language-function-ldelim; +&designers.language-builtin-functions.language-function-literal; +&designers.language-builtin-functions.language-function-php; +&designers.language-builtin-functions.language-function-section; +&designers.language-builtin-functions.language-function-strip; + + capture + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Nгo + default + O nome do bloco capturado + + + assign + string + Nгo + n/a + O nome da variбvel para dar o valor da saнda capturada + + + + + + capture й usado para coletar toda a saнda do template em uma variбvel ao invйs + de mostra-lo. Qualquer conteъdo entre {capture + name="foo"} e {/capture} coletado na variбvel especificada no atributo name. + O conteъdo capturado pode ser usado no template a apertir da variбvel especial + $smarty.capture.foo aonde foo й o valor passado para o atributo name. Se vocк nгo + passar um atributo name, entгo serб usado "default". Todos os comandos + {capture} devem ter o seu {/capture}. Vocк pode aninhar(colocar um dentro de outro) + comandos capture. + + + Nota Tecnica + + Smarty 1.4.0 - 1.4.4 coloca o conteъdo capturado dentro da variбvel + chamada $return. A partir do 1.4.5, este funcionamento foi mudado + para usar o atributo name, entгo atualize os seus templates de acordo. + + + + + Tenha cuidado quando capturar a saнda do comando insert. + Se vocк tiver o cache em on e vocк tiver comandos insert + que vocк espera que funcione com conteъdo do cache, + nгo capture este conteъdo. + + + + + capturando conteъdo do template + +{* we don't want to print a table row unless content is displayed *} +{capture name=banner} +{include file="get_banner.tpl"} +{/capture} +{if $smarty.capture.banner ne ""} + <tr> + <td> + {$smarty.capture.banner} + </td> + </tr> +{/if} + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-config-load.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-config-load.xml new file mode 100644 index 00000000..34d9f8cf --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-config-load.xml @@ -0,0 +1,140 @@ + + + + config_load + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + file + string + Sim + n/a + O nome do arquivo de configuraзгo para incluir + + + section + string + Nгo + n/a + O nome da seзгo a carregar + + + scope + string + Nгo + local + + Como o escopo das variбveis carregadas й tratado, + o qual deve ser um entre local, parent ou global. local + indica que as variбveis sгo carregadas no contexto do + template local apenas. parent indica que as variбveis sгo carregadas + no contexto atual e no template que o chamou. global indica + que as variбveis estгo + disponнveis para todos os templates. + + + + global + boolean + No + No + + Quando ou nгo as variбveis sгo visiveis para o template + superior(aquele que chamou este), o mesmo que scope=parent. + NOTA: este atributo esta obsoleto pelo atributo scope, mas + ainda й suportado. Se scope for indicado, este valor й ignorado. + + + + + + + Esta funзгo й usada para carregar as variбveis de um arquivo de configuraзгo + dentro de um template. Veja Config Files + para maiores + informaзхes. + + +Funзгo config_load + + +{config_load file="colors.conf"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + Arquivos de configuraзгo podem conter seзхes tambйm. Voce pode carregar + variбveis de uma seзгo adicionando o atributo + section. + + + NOTA: Config file sections e a funзгo embutida de + template section nгo tem nada a ver um com o outro, + eles apenas tem uma mesma + convenзгo de nomes. + + +Funзгo config_load com seзхes + +{config_load file="colors.conf" section="Customer"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-foreach.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-foreach.xml new file mode 100644 index 00000000..a38ed18b --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-foreach.xml @@ -0,0 +1,194 @@ + + + + foreach,foreachelse + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + from + string + Sim + n/a + O nome da matriz que vocк estarб pegando os elementos + + + item + string + Yes + n/a + O nome da variбvel + que й o elemento atual + + + key + string + Nгo + n/a + O nome da variбvel que й a chave atual + + + name + string + Nгo + n/a + O nome do loop foreach para acessar as + propriedades foreach + + + + + + Loops foreach sгo uma alternativa para loops + section. foreach й usado + para pegar cada elemento de uma matriz associativa simples. + A sintaxe para foreach й muito mais simples do que + section, mas tem a desvantagem de poder ser usada + apenas para uma ъnica matriz. Tags foreach devem ter + seu par /foreach. Os parвmetros requeridos sгo + from e item. O nome do loop + foreach pode ser qualquer coisa que vocк queira, feito de letras, nъmeros + e sublinhados. Loops foreach + podem ser aninhados, e o nome dos loops aninhados devem ser diferentes + um dos outros. A variбvel from (normalmente uma + matriz de valores) determina o nъmero de vezes do loop + foreach. + foreachelse й executado quando nгo houverem mais valores + na variбvel from. + + +foreach + + +{* este exemplo irб mostrar todos os valores da matriz $custid *} +{foreach from=$custid item=curr_id} + id: {$curr_id}<br> +{/foreach} + +MOSTRA: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +foreach key + +{* A key contйm a chave para cada valor do loop + +A definiзгo й alo assim: + +$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), + array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); + +*} + +{foreach name=outer item=contact from=$contacts} + {foreach key=key item=item from=$contact} + {$key}: {$item}<br> + {/foreach} +{/foreach} + +MOSTRA: + +phone: 1<br> +fax: 2<br> +cell: 3<br> +phone: 555-4444<br> +fax: 555-3333<br> +cell: 760-1234<br> + + + + Loop foreach tambйm tem as suas prуprias variбveis para manipilar a as propriedades + foreach. Estas sгo indicadas assim: {$smarty.foreach.foreachname.varname} com + foreachname sendo o nome especificado no atributo + name do foreach. + + + + + iteration + + iteration й usado para mostrar a interaзгo atual do loop. + + + Iteration sempre comeзa em 1 e + й incrementado um a um em cada interaзгo. + + + + + first + + first й definido como true se a interaзгo atual + do foreach for a primeira. + + + + + last + + last й definido como true se a interaзгo atual + do foreach for a ъltima. + + + + + show + + show й usado como parвmetro para o foreach. + show й um valor booleano, true ou false. Se + false, o foreach nгo serб mostrado. Se tiver um foreachelse + presente, este serб alternativamente mostrado. + + + + + total + + total й usado para mostrar o nъmero de interaзхes do + foreach. Isto pode ser usado dentro ou depois do foreach. + + + + + + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-if.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-if.xml new file mode 100644 index 00000000..7567a011 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-if.xml @@ -0,0 +1,102 @@ + + + + if,elseif,else + + Comandos if no Smarty tem muito da mesma flexibilidade do php, + com algumas adiзхes para a ferramenta de template. + Todo if deve ter o seu + /if. else e + elseif tambйm sгo permitidos. "eq", "ne","neq", + "gt", "lt", "lte", "le", "gte" "ge","is even","is odd", "is not + even","is not odd","not","mod","div by","even by","odd + by","==","!=",">", "<","<=",">=" sгo todos os qualificadores + de condiзгo vбlidos, e ddevem estar separados + dos elementos em roda por espaзo. + + +comandos if + +{if $name eq "Fred"} + Welcome Sir. +{elseif $name eq "Wilma"} + Welcome Ma'am. +{else} + Welcome, whatever you are. +{/if} + +{* um exemplo com "or" *} +{if $name eq "Fred" or $name eq "Wilma"} + ... +{/if} + +{* o mesmo que acima *} +{if $name == "Fred" || $name == "Wilma"} + ... +{/if} + +{* a seguinte sintaxe nгo irб funcionar, qualificadores de condiзгo + devem estar separados dos elementos em torno por espaзos *} +{if $name=="Fred" || $name=="Wilma"} + ... +{/if} + + +{* parenteses sгo permitidos *} +{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#} + ... +{/if} + +{* vocк pode tambйm colocar funзхes php *} +{if count($var) gt 0} + ... +{/if} + +{* testa se o valor й par ou impar *} +{if $var is even} + ... +{/if} +{if $var is odd} + ... +{/if} +{if $var is not odd} + ... +{/if} + +{* test if var is divisible by 4 *} +{if $var is div by 4} + ... +{/if} + +{* test if var is even, grouped by two. i.e., +0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *} +{if $var is even by 2} + ... +{/if} + +{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *} +{if $var is even by 3} + ... +{/if} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-include-php.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-include-php.xml new file mode 100644 index 00000000..b2ecc2d8 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-include-php.xml @@ -0,0 +1,129 @@ + + + + include_php + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + file + string + Sim + n/a + O nome do arquivo php a incluir + + + once + boolean + Nгo + true + Quando incluir ou nгo o arquivo php mais de uma vez se + incluнdo vбrias vezes + + + assign + string + Nгo + n/a + O nome da variбvel + que receberб a saнda do arquivo php + + + + + + Tags include_php sгo usadas para incluir um script php no seu template. + Se a seguranзa estiver ativada, entгo o script php deve estar localizado + no caminho $trusted_dir. A tag include_php deve ter o atributo + "file", o qual contйm o caminho para o arquivo php a ser incluнdo, + ou relativo a $trusted_dir, ou um caminho absoluto. + + + include_php й um bom meio de manipular templates com componentes, + e mante o cуdigo PHP separado dos arquivos de template. Vamos dizer + que vocк tenha um template que mostre a navegaзгo do seu site, o qual + й prenchido automaticamente a partir de um banco de dados. Vocк pode + manter a sua lуgica PHP que obtйm os dados em um diretуrio separado, + e inclui-la no topo do template. Agora vocк pode incluir este template + em qualquer lugar sem se preocupar se a informaзгo do banco de dados foi + obtida antes de usar. + + + Por padrгo, os arquivos php sгo incluнdos apenas uma vez mesmo + se incluнdos vбrias vezes no template. Vocк pode especificar que ele + seja incluнdo todas as vezes com o atributo once. + Definindo once para false irб incluir o script php a cada vez que + ele seja incluнdo no template. + + + Vocк pode opcionalmente passar o atributo assign, + o qual irб especificar uma variбvel de template a qual irб conter + toda a saнda de + include_php em vez de mostra-la. + + + O objeto smarty esta disponнvel como $this dentro do + script php que vocк incluiu. + + +Funзгo include_php + +load_nav.php +------------- + +<?php + + // carrega variбveis de um banco de dados mysql e define ela para o template + require_once("MySQL.class.php"); + $sql = new MySQL; + $sql->query("select * from site_nav_sections order by name",SQL_ALL); + $this->assign('sections',$sql->record); + +?> + + +index.tpl +--------- + +{* caminho absoluto ou relativo a $trusted_dir *} +{include_php file="/path/to/load_nav.php"} + +{foreach item="curr_section" from=$sections} + <a href="{$curr_section.url}">{$curr_section.name}</a><br> +{/foreach} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-include.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-include.xml new file mode 100644 index 00000000..83b36cc3 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-include.xml @@ -0,0 +1,124 @@ + + + + include + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + file + string + Sim + n/a + O nome do arquivo de template a incluir + + + assign + string + Nгo + n/a + O nome de uma variбvel que irб + conter toda a saнda do template + + + [var ...] + [var type] + Nгo + n/a + Variбvel para passar localmente para o template + + + + + + Tags include sгo usados para incluir outros templates no template + atual. Quaisquer variбveis disponнveis no template atual tambйm esta + disponнvel dentro do template incluido. A tag include deve ter o atributo + "file", o qual contйm o caminho do arquivo a incluir. + + + Vocк pode opcionalmente passar o atributo assign, + o qual irб especificar o nome de uma variбvel de template para a qual + conterб toda a saнda de include ao + invйs de mostra-la. + + +function include + +{include file="header.tpl"} + +{* O corpo do template vai aqui *} + +{include file="footer.tpl"} + + + Vocк pode tambйm passar variбveis para o template incluнdo como atributos. + Quaisquer variбveis passadas para um template incluнdo como atributos + estгo disponнveis somente dentro do escopo do template incluнdo. + As variбveis passadas como atributos sobrescrevem as variбveis de + template atuais, no caso de ambas terem o mesmo nome. + + +Funзгo include passando variбveis + +{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} + +{* O corpo de template vai aqui *} + +{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} + + + Use a sintaxe para template resources para + incluir arquivos fora do diretуrio $template_dir. + + +Exemplos de recursos para a funзгo include + +{* caminho absoluto *} +{include file="/usr/local/include/templates/header.tpl"} + +{* caminho absoluto (mesma coisa) *} +{include file="file:/usr/local/include/templates/header.tpl"} + +{* caminho absoluto do windows (DEVE usar o prefixo "file:") *} +{include file="file:C:/www/pub/templates/header.tpl"} + +{* incluir a partir do recurso de template chamado "db" *} +{include file="db:header.tpl"} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-insert.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-insert.xml new file mode 100644 index 00000000..8b05f4c5 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-insert.xml @@ -0,0 +1,140 @@ + + + + insert + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Sim + n/a + O nome da funзгo insert (insert_name) + + + assign + string + Nгo + n/a + O nome da variбvel que + irб receber a saнda + + + script + string + Nгo + n/a + O nome de um script php que serб incluido + antes que a funзгo insert seja chamada + + + [var ...] + [var type] + Nгo + n/a + Variбvel para passar para a funзгo insert + + + + + + Tags insert funcionam parecido com as tags include, exceto que as tags + insert nгo vгo para o cache quando caching esta ativado. Ela serб + executada a cada invocaзгo do template. + + + Vamos dizer que vocк tenha um template com um banner em cima. O + banner pode conter qualquer mistura de html, imagens, flash, etc. + Assin nуs nгo podemos usar uma ligaзгo estatica aqui, e nуs nгo + queremos que este conteъdo fique no cache com a pбgina. Aqui vem a tag + insert: o template conhece os valores #banner_location_id# e + #site_id# (obtidos de um arquivo de configuraзгo), e precisa chamar + uma funзгo para obter o conteъdo do banner. + + +function insert + +{* example of fetching a banner *} +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} + + + Neste exemplo, nуs estamos usando o nome "getBanner" e passando os parвmetros + #banner_location_id# e #site_id#. O Smarty irб procurar por uma funзгo chamada + insert_getBanner() na sua aplicaзгo PHP, passando os valores de + #banner_location_id# e #site_id# como primeiro argumento em uma + matriz associativa. Todos os nomes de funзгo insert em sua + aplicaзгo devem ser precedidas por "insert_" para prevenir possнveis + problemas com nomes de funзхes repetidos. Sua funзгo insert_getBanner() + deve fazer alguma coisa com os valores passados e retornar os resultados. + Estes resultados sгo mostrados no template em lugar da tag insert. + Neste exemplo, o Smarty irб chamar esta funзгo: + insert_getBanner(array("lid" => "12345","sid" => "67890")); + e mostrar o resultado retornado no lugar da tag insert. + + + Se vocк der o atributo "assign", a saнda da tag insert serб + dada para esta variбvel ao invйs de ser mostrada + no template. Nota: definir a saнda para uma variбvel nгo й + ъtil quando o cache esta ativo. + + + Se vocк der o atributo "script", este script php serб incluido + (apenas uma vez) antes da execuзгo da funзгo insert. Este + й o caso onde a funзгo insert nгo existe ainda, e um script + php deve ser incluнdo antes para faze-la funcionar. O caminho pode + ser absoluto ou relativo a $trusted_dir. Quando a seguranзa esta + ativada, o script deve estar em $trusted_dir. + + + O objeto Smarty й passado como segundo argumento. Desde modo + pocк pode refenciar o objeto Smarty + de dentro da funзгo. + + + Nota Tecnica + + Й possнvel ter partes do template fora do cache. + se vocк tiver caching + ativado, tags insert nгo estarгo no cache. Ela serб executada + dinamicamente a cada vez que a pбgina seja criada, mesmo com + pбginas em cache. Isto funciona bem para coisas como banners, pesquisa, + clima, resultados de pesquisa, areas de opniгo do usuбrio, etc. + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-ldelim.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-ldelim.xml new file mode 100644 index 00000000..303d324c --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-ldelim.xml @@ -0,0 +1,42 @@ + + + + ldelim,rdelim + + ldelim e rdelim sгo usados para mostrar os delimitadores literalmente, + no nosso caso "{" ou "}". A ferramente de template sempre + tenta interpretar os delimitadores, entгo este й o meio de contornar isso. + + +ldelim, rdelim + +{* isto irб mostrar os delimitadore no template *} + +{ldelim}funcname{rdelim} is how functions look in Smarty! + + +MOSTRA: + +{funcname} is how functions look in Smarty! + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-literal.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-literal.xml new file mode 100644 index 00000000..eb1b823d --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-literal.xml @@ -0,0 +1,54 @@ + + + + literal + + Tags literal permitem que um bloco de dados seja tomado literalmente, + nгo sendo interpretado pelo smarty. Isto й ъtil + para coisas como seзхes javascript, aonde podem haver + chaves("{}") e coisas assim que possam confundir + o interpretador do template. + Qualquer coisa dentro das {literal}{/literal} nгo serб interpretado, mas mostrado como estiver. + + +Tags literal + +{literal} + <script language=javascript> + + <!-- + function isblank(field) { + if (field.value == '') + { return false; } + else + { + document.loginform.submit(); + return true; + } + } + // --> + + </script> +{/literal} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-php.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-php.xml new file mode 100644 index 00000000..52ae6c57 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-php.xml @@ -0,0 +1,40 @@ + + + + php + + Tags php permitem que vocк adicione cуdigo php diretamente no template. + Nгo serб escapado, nгo importando a definiзгo de $php_handling. Isto + й apenas para usuбrios avanзados e normalmente nгo й necessбrio. + + +Tags php + +{php} + // incluindo um script php + // diretamente no template. + include("/path/to/display_weather.php"); +{/php} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-section.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-section.xml new file mode 100644 index 00000000..6ad14ecf --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-section.xml @@ -0,0 +1,568 @@ + + + + section,sectionelse + + + + + + + + + + Nome do atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Sim + n/a + O nome da seзгo + + + loop + [$variable_name] + Sim + n/a + O nome da variбvel para determinar o + nъmero de interaзхes + + + start + integer + Nгo + 0 A posiзгo + do нndice que a seзгo vai comeзar. Se o valor + й negativo, a posiзгo de inicio й calculada a partir + do final da matriz. For exemplo, se houverem + sete valores na matriz e start for -2, o + нndice inicial й 5. Valores invбlidos (valores fora do + tamanho da matriz) sгo automaticamente truncados + para o valor vбlido mais prуximo. + + + step + integer + Nгo + 1 + O valor do passo que serб usado para o loop + na matriz. Por exemplo, step=2 irб realizar o loop com + os нndices 0,2,4, etc. Se step for negativo, ele irб caminhar + pela matriz de trбs para frente. + + + max + integer + Nгo + 1 + Define o nъmero mбximo de loops + para a section. + + + show + boolean + Nгo + true + Determina quando mostrar ou nгo esta section + + + + + + sections de template sгo usada para realizar um loop por uma matriz. Todas as tags + section devem ter as suas + /section. Parвmetros requeridos sгo + name e loop. O nome + de section pode ser o que vocк quiser, feito de letras, + nъmeros e sublinhados. Sections podem ser aninhadas, e os nomes das section + aninhadas devem ser diferentes um dos outros. A variбvel do loop + (normalmente uma matriz de valores) determina o nъmero de vezes do + loop da section. Quando estiver mostrando uma variбvel dentro de uma section, + o nome da section deve estar ao lado da variбvel dentro de conchetes + []. sectionelse й + executado quando nгo houverem valores para a variбvel de loop. + + +section + + +{* este exemplo irб mostrar todos os valores de $custid array *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{/section} + +MOSTRA: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +loop de variбvel section + +{* a variбvel de looґp determina o nъmero de vezes do loop. + Vocв pode acessar qualquer variбvel do template dentro da section. + Este exemplo assume que $custid, $name e $address sгo todas + matrizes contendo o mesmo nъmero de valores *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + <p> +{/section} + + +MOSTRA: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +<p> + + + +Nomes de section + +{* o nome de section pode ser o que vocк quiser, + e й usado para referenciar os dados dentro da section *} +{section name=mydata loop=$custid} + id: {$custid[mydata]}<br> + name: {$name[mydata]}<br> + address: {$address[mydata]}<br> + <p> +{/section} + + + +sections aninhadas + +{* sections podem ser aninhadas tгo profundamente quanto vocк quiser. Com sections aninhadas, + vocк pode acessar estruturas de dados complexas, como matriz multi-dimensionais. + Neste exemplo, $contact_type[customer] й uma matriz de + tipos de contato para o custumer atual. *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> + {/section} + <p> +{/section} + + +MOSTRA: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: john@mydomain.com<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<br> +<p> + + + +sections e matrizes associativas + +{* Este й um exemplo de mostrar os dados de matriz associativa + dentro da section *} +{section name=customer loop=$contacts} + name: {$contacts[customer].name}<br> + home: {$contacts[customer].home}<br> + cell: {$contacts[customer].cell}<br> + e-mail: {$contacts[customer].email}<p> +{/section} + + +MOSTRA: + +name: John Smith<br> +home: 555-555-5555<br> +cell: 555-555-5555<br> +e-mail: john@mydomain.com<p> +name: Jack Jones<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<p> +name: Jane Munson<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<p> + + + + + +sectionelse + +{* sectionelse irб executar se nгo houverem mais valores $custid *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{sectionelse} + there are no values in $custid. +{/section} + + + Sections tambйm tem as suas prуprias variбveis que manipulam as propriedaes section. + Estas sгo indicadas assim: {$smarty.section.sectionname.varname} + + + NOTA: a partir do Smarty 1.5.0, a sintaxe para as variбveis de propriedades de section + mudou de {%sectionname.varname%} para + {$smarty.section.sectionname.varname}. A sintaxe antiga ainda й suportada, + mas vocк irб ver referencias apenas a nova sintaxe nos + exemplos do manual. + + + index + + index й usado para mostrar o нndice atual do loop, comeзando em zero + (ou pelo atributo start se dado), e incrementando por um (ou pelo + atributo step se dado). + + + Nota Tйcnica + + Se as propriedades section nгo for modificada, + entгo isto funciona igual a propriedade iteration da section, + exceto que comeзa em 0 ao invйs de 1. + + + + section property index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + + MOSTRA: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + + + + index_prev + + index_prev й usado para mostrar o нndice anterior do loop. + No primeiro loop, isto й definido como -1. + + + section property index_prev + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_prev] ne $custid[customer.index]} + The customer id changed<br> + {/if} + {/section} + + + MOSTRA: + + 0 id: 1000<br> + The customer id changed<br> + 1 id: 1001<br> + The customer id changed<br> + 2 id: 1002<br> + The customer id changed<br> + + + + + index_next + + index_next й usado para mostrar o prуximo indice do loop. No ъltimo loop, + isto ainda й um mais o нndice atual( respeitando a definiзгo + do atributo step, se dado.) + + + section property index_next + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + MOSTRA: + + 0 id: 1000<br> + The customer id will change<br> + 1 id: 1001<br> + The customer id will change<br> + 2 id: 1002<br> + The customer id will change<br> + + + + + iteration + + iteration й usado para mostrar a interaзгo atual do loop. + + + NOTA: isto nгo й afetado pelas propriedades start, step e + max, diferentemente das propriedade index. Iteration tambйm comeзa com 1 + ao invйs de 0 como index. rownum й um apelido para iteration, + elas funcionam de modo identico. + + + section property iteration + + {section name=customer loop=$custid start=5 step=2} + current loop iteration: {$smarty.section.customer.iteration}<br> + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + MOSTRA: + + current loop iteration: 1 + 5 id: 1000<br> + The customer id will change<br> + current loop iteration: 2 + 7 id: 1001<br> + The customer id will change<br> + current loop iteration: 3 + 9 id: 1002<br> + The customer id will change<br> + + + + + first + + first й definido como true se a interaзгo atual da section + й a primeira. + + + section property first + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + MOSTRA: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + last + + last й definido como true de a interaзгo atual da + section й a ъltima. + + + section property last + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + MOSTRA: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + rownum + + rownum й usado para mostrar a interaзгo atual do loop, + comeзando em um. Й um apelido para iteration, + elas funcionam de modo identico. + + + section property rownum + + {section name=customer loop=$custid} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + + MOSTRA: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + + + + loop + + loop й usado para mostrar o ъltimo nъmero do нndice do loop desta + section. Isto pode ser usado dentro ou depois de section. + + + section property index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.loop} customers shown above. + + MOSTRA: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + There were 3 customers shown above. + + + + + show + + show й usado como parвmetro para section. + show й um valor booleano, true ou false. Se + false, a section nгo serб mostrada. Se existir um sectionelse + presente, esta serб alternativamente mostrado. + + + section attribute show + + {* $show_customer_info deve ser passada da aplicaзгo PHP, + para regular quando mostrar ou nгo mostrar esta section *} + {section name=customer loop=$custid show=$show_customer_info} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + {if $smarty.section.customer.show} + the section was shown. + {else} + the section was not shown. + {/if} + + + MOSTRA: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + the section was shown. + + + + + total + + total й usado para mostrar o nъmero de interaзхes que esta section terб. + Isto pode ser usado dentro ou depois da section. + + + section property total + + {section name=customer loop=$custid step=2} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.total} customers shown above. + + MOSTRA: + + 0 id: 1000<br> + 2 id: 1001<br> + 4 id: 1002<br> + + There were 3 customers shown above. + + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-builtin-functions/language-function-strip.xml b/docs/pt_BR/designers/language-builtin-functions/language-function-strip.xml new file mode 100644 index 00000000..300658e8 --- /dev/null +++ b/docs/pt_BR/designers/language-builtin-functions/language-function-strip.xml @@ -0,0 +1,74 @@ + + + + strip + + Vбrias vezes web designers tem problemas com espaзos em branco e + carriage returns afetam a saнda do HTML (browser + "features"), assim vocк tem que colocar todas as suas tags juntas para ter + os resultados desejados. Isto normalmente termina em um + template ilegнvel ou que nгo se consegue ler. + + + Tudo dentro de {strip}{/strip} no Smarty tem retirados os espaзos em branco + e carriage returns no inicio e final das linhas + antes que sejam mostrados. Deste modo vocк pode manter seu template + legнvel, e nгo se preocupar com o espaзo estra causando + problemas. + + + Nota Tйcnica + + {strip}{/strip} nгo afeta o conteъdo das variбveis de template. + Veja strip modifier + function. + + + +strip tags + +{* o seguinte estarб tudo junto em uma linha na saнda *} +{strip} +<table border=0> + <tr> + <td> + <A HREF="{$url}"> + <font color="red">This is a test</font> + </A> + </td> + </tr> +</table> +{/strip} + + +MOSTRA: + +<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> + + + Note que no exemplo acima, todas as linhas comeзam e terminam + com tags HTML. Tenha cuidado que todas as linhas ficam juntas. + Se vocк tiver texto simples no inicio ou no final de uma linha, + ele estarб junto, e pode nгo ser o resultado desejado. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions.xml b/docs/pt_BR/designers/language-custom-functions.xml index 70d7de56..0e7b3ae3 100644 --- a/docs/pt_BR/designers/language-custom-functions.xml +++ b/docs/pt_BR/designers/language-custom-functions.xml @@ -6,2623 +6,24 @@ Smarty vem com vбrias funзхes personalizadas que vocк pode usar em seus templates. - - assign - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - var - string - Sim - n/a - O nome da variбvel que esta ganhando valor - - - value - string - Yes - n/a - O valor que esta sendo dado - - - - - - assign й usado para definir valores para variбvel - de template durante a execuзгo do template. - - -assign - -{assign var="name" value="Bob"} - -The value of $name is {$name}. - -MOSTRA: - -The value of $name is Bob. - - - - counter - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Nгo - default - O nome do contador - - - start - number - Nгo - 1 - O nъmero inicial para contar a partir de - - - skip - number - Nгo - 1 - O intervalo para contar - - - direction - string - Nгo - up - A direзгo para contar (up/down) - - - print - boolean - Nгo - true - Quando mostrar ou nгo o valor - - - assign - string - Nгo - n/a - A variбvel de template que vai - receber a saнda - - - - - - counter й usada para mostrar uma contagem. counter irб se lembrar de - count em cada interaзгo. Vocк pode ajustar o nъmero, o intervalo - e a direзгo da contagem, assim como detrminar quando - mostrar ou nгo a contagem. Vocк pode ter varios contadores ao - mesmo tempo, dando um nome ъnico para cada um. Se vocк nгo der um nome, - o nome 'default' serб usado. - - - Se vocк indicar o atributo especial "assign", a saнda da funзгo counter - irб para essa variбvel de template ao invйs de - ser mostrada no template. - - -counter - -{* inicia a contagem *} -{counter start=0 skip=2 print=false} - -{counter}<br> -{counter}<br> -{counter}<br> -{counter}<br> - -MOSTRA: - -2<br> -4<br> -6<br> -8<br> - - - - cycle - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Nгo - default - O nome do ciclo - - - values - mixed - Sim - N/A - Os valores do ciclo, ou uma lista delimitada - por vнrgula (veja o atributo delimiter), - ou uma matriz de valores. - - - print - boolean - Nгo - true - Quando mostrar ou nгo o valor - - - advance - boolean - Nгo - true - Quando avanзar ou nгo para o prуximo valor - - - delimiter - string - Nгo - , - O delimitador para usar no atributo values. - - - assign - string - Nгo - n/a - A variбvel de template que - receberб a saнda - - - - - - Cycle й usado para fazer um clico atravйs de um conjunto de valores. - Isto torna fбcil alternar entre duas ou mais cores em uma tabela, - ou entre uma matriz de valores. - - - Vocк pode usar o cycle em mais de um conjunto de valores - no seu template. Dк a cada conjunto de valores - um nome ъnico. - - - Vocк pode fazer com que o valor atual nгo seja mostrado - definindo o atributo print para false. Isto й ъtil para - pular um valor. - - - O atributo advance й usado para repetir um valor. Quando definido - para false, a prуxima chamada para cycle irб mostrar o mesmo valor. - - - Se vocк indicar o atributo especial "assign", a saнda da funзгo - cycle irб para a variбvel de template ao invйs de ser - mostrado diretamente no template. - - -cycle - -{section name=rows loop=$data} -<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> - <td>{$data[rows]}</td> -</tr> -{/section} - -MOSTRA: - -<tr bgcolor="#eeeeee"> - <td>1</td> -</tr> -<tr bgcolor="#d0d0d0"> - <td>2</td> -</tr> -<tr bgcolor="#eeeeee"> - <td>3</td> -</tr> - - - - - debug - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - output - string - Nгo - html - Tipo de saнda, html ou javascript - - - - - - {debug} mostra o console de debug na pбgina. Isto funciona independente - da definiзгo de debug. - Jб que isto й executado em tempo de execuзгo, isto й capaz apenas de - mostrar as variбveis definidas, e nгo os templates - que estejam em uso. Mas vocк pode ver todas as variбveis - disponнveis no escopo do template. - - - - eval - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - var - mixed - Sim - n/a - Variбvel (ou string) para avaliar - - - assign - string - Nгo - n/a - A variбvel de template que - receberб a saнda - - - - - - eval й usado para avaliar uma variбvel como template. Isto pode ser usado para - coisas como embutir tags/variбveis de template dentro de variбveis - ou tags/variбveis dentro de variбveis em um arquivo de configuraзгo. - - - Se vocк indicar o atributo especial "assign", a saнda da funзгo - eval irб para esta variбvel de template ao - invйs de aparecer no template. - - - Nota Tйcnica - - Variбveis avaliadas sгo tratadas igual a templates. Elas seguem - o mesmo funcionamento para escapar e para seguranзa como - se fossem templates. - - - - Nota Tйcnica - - Variбveis avaliadas sгo compiladas a cada invocaзгo, as versхes - compiladas nгo sгo salvas. Entretando, se vocк tiver o cache ativado, - a saнda vai ficar no cache junto com o resto do template. - - - -eval - -setup.conf ----------- - -emphstart = <b> -emphend = </b> -title = Welcome to {$company}'s home page! -ErrorCity = You must supply a {#emphstart#}city{#emphend#}. -ErrorState = You must supply a {#emphstart#}state{#emphend#}. - - -index.tpl ---------- - -{config_load file="setup.conf"} - -{eval var=$foo} -{eval var=#title#} -{eval var=#ErrorCity#} -{eval var=#ErrorState# assign="state_error"} -{$state_error} - -MOSTRA: - -This is the contents of foo. -Welcome to Foobar Pub & Grill's home page! -You must supply a <b>city</b>. -You must supply a <b>state</b>. - - - - - - fetch - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - file - string - Sim - n/a - O arquivo, site http ou ftp para obter - - - assign - string - Nгo - n/a - A variбvel de template - que vai receber a saнda - - - - - - fetch й usado para obter arquivos do sistema de arquivos local, - http ou ftp, e mostrar o seu conteъdo. Se o nome do arquivo comeзar - com "http://", a pбgina do web site serб obtidae mostrada. Se o - nome do arquivo comeзar com "ftp://", o arquivo serб obtido do servidor - ftp e mostrado. Para arquivos locais, o caminho completo do sistema de - arquivos deve ser dado, ou um caminho relativo ao script php executado. - - - Se vocк indicar o atributo especial "assign", a saнda da funзгo - fetch irб para uma variбvel de template ao ivйs de - ser mostrado no template. (novo no Smarty 1.5.0) - - - Nota Tйcnica - - Isto nгo suporta redirecionamento http, tenha - certesa de incluir a barra no final aonde necessбrio. - - - - Nota Tйcnica - - Se a seguranзa do template esta ativada e vocк - estiver obtendo um arquivo do sistema de arquivos local, isto - irб permitir apenas arquivos de um dos diretуrios - definidos como seguros. ($secure_dir) - - - -fetch - -{* inclui algum javascript no seu template *} -{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} - -{* embute algum texto sobre o tempo de outro web site *} -{fetch file="http://www.myweather.com/68502/"} - -{* obtйm um arquivo de notнcias via ftp *} -{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} - -{* coloca o conteъdo obtido para uma varбvel de template *} -{fetch file="http://www.myweather.com/68502/" assign="weather"} -{if $weather ne ""} - <b>{$weather}</b> -{/if} - - - - html_checkboxes - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - name - string - Nгo - checkbox - O nome da lista checkbox - - - values - array - Sim, a menos que estaja usando o atributo options - n/a - Uma matriz de valores para os botхes checkbox - - - output - array - Sim, a menos que estaja usando o atributo options - n/a - uma matriz de saнda para os botхes checkbox - - - selected - string/array - Nгo - empty - O(s) elemento(s) checkbox marcado(s) - - - options - matriz - Sim, a mesnos que esteja usando values e output - n/a - Uma matriz associativa de valores e saнda - - - separator - string - Nгo - empty - string de texto para separar cada checkbox - - - labels - boolean - Nгo - true - Adicionar tags <label> para na saнda - - - - - - html_checkboxes й uma funзгo personalizada que cria um grupo de - checkbox com os dados providos. Ela cuida de qual(is) item(s) - estгo selecionado(s) por padrгo. Os atributos requeridos sгo - values e output, a menos que vocк use options. - Toda a saнda й compatнvel com XHTML. - - - Todos os parвmetro que nгo estejam na lista acima sгo mostrados - como pares nome/valor dentro de cada tag <input> criada. - - -html_checkboxes - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_checkboxes', array( - 1000 => 'Joe Schmoe', - 1001 => 'Jack Smith', - 1002 => 'Jane Johnson', - 1003 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} - - -MOSTRA: (ambos os exemplos) - -<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br /> -<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br /> - - - - html_image - - - - - - - - - - Nome do Atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - file - string - Sim - n/a - name/path para a imagem - - - border - string - Nгo - 0 - tamanho da borda de contorno da imagem - - - height - string - Nгo - altura atual da imagem - altura com a qual a imagem deve ser mostrada - - - width - string - Nгo - largura atual da imagem - largura com a qual a imagem deve ser mostrada - - - basedir - string - Nгo - doc root do servidor - diretуrio de base a caminhos relativos - - - alt - string - Nгo - "" - descriзгo alternativa da imagem - - - href - string - Nгo - n/a - valor href para aonde a imagem serб ligada - - - - - - html_image й uma funзгo customizada que gera uma tag HTML para uma imagem. - A altura e a largura sгo automaticamente calculadas a partir do arquivo de imagem se - nenhum valor й fornecido. - - - basedir й o diretуrio base do qual caminhos relativos de imagens estгo baseados. - Se nгo fornecido, o document root do servidor (variбvel de ambiente DOCUMENT_ROOT) й usada - como o diretуrio base. Se a seguranзa estб habilitada, o caminho para a imagem deve estar dentro - de um diretуrio seguro. - - - href й o valor href para onde a imagem serб ligada. Se um link й fornecido, - uma tag <a href="LINKVALUE"><a> й posta em volta da tag da imagem. - - - Nota Tйcnica - - html_image requer uma aзгo ao disco para ler a imagem e calcular - a altura e a largura. Se vocк nгo usa caching de template, normalmente й - melhor evitar html_image e deixar as tags de imagem estбticas para performance - otimizada. - - - -html_image - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->display('index.tpl'); - -index.tpl: - -{html_image file="pumpkin.jpg"} -{html_image file="/path/from/docroot/pumpkin.jpg"} -{html_image file="../path/relative/to/currdir/pumpkin.jpg"} - -OUTPUT: (possнvel) - -<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /> -<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" /> -<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" /> - - - - - - - - html_options - - - - - - - - - - Nome do Atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - values - array - Sim, a menos que usando atributos de opзхes - n/a - um array de valores para o menu dropdown - - - output - array - Sim, a menos que usando atributos de opзхes - n/a - um array de saнda para o menu dropdown - - - selected - string/array - Nгo - empty - o elemento do option selecionado - - - options - associative array - Sim, a menos que usando valores e saнda - n/a - um array associativo de valores e saнda - - - name - string - Nгo - empty - nome do grupo selecionado - - - - - - html_options й uma funзгo customizada que cria um grupo html option com os dados fornecidos. - Ela estб atenta de quais itens sгo selecionados por definiзгo. Atributos exigidos sгo valores e - saнda, a menos que vocк use options - no lugar. - - - Se um valor dado й um array, ele serб tratado como um OPTGROUP html, - e mostrarб os grupos. - Recursion й suportado com OPTGROUP. Todas as saнdas estгo compatнveis com XHTML. - - - Se o atributo opcional name й dado, as tags - <select name="groupname"></select> irгo enclausurar a lista de opзхes. - Caso contrбrio apenas a lista de opзхes й gerada. - - - Todos os parвmetros que nгo estгo na lista acima sгo exibidos como - name/value-pairs dentro de <select>-tag. Eles sгo ignorados se o opcional - namenгo й dado. - - -html_options - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options values=$cust_ids selected=$customer_id output=$cust_names} -</select> - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_options', array( - 1001 => 'Taniel Franklin', - 1002 => 'Fernando Correa', - 1003 => 'Marcelo Pereira', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options options=$cust_options selected=$customer_id} -</select> - - -OUTPUT: (both examples) - -<select name=customer_id> - <option value="1000">Taniel Franklin</option> - <option value="1001" selected="selected">Fernando Correa</option> - <option value="1002">Marcelo Pereira</option> - <option value="1003">Charlie Brown</option> -</select> - - - - html_radios - - - - - - - - - - Nome do Atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - name - string - Nгo - radio - nome da radio list - - - values - array - Sim, a menos que utilizando atributo de opзхes - n/a - um array de valores para radio buttons - - - output - array - Sim, a menos que utilizando atributo de opзхes - n/a - um array de saнda pra radio buttons - - - checked - string - Nгo - empty - O elemento do radio assinalado - - - options - associative array - Sim, a menos que utilizando valores e saнda - n/a - um array associativo de valores e saнda - - - separator - string - Nгo - empty - string de texto para separae cada item de radio - - - - - - html_radios й uma funзгo customizada que cria grupo de botхes de radio html - com os dados fornecidos. Ele estб atento para qual item estб selecionado por definiзгo. - Atributos exigidos sгo valores e saнdas, a menos que vocк use opзхes no lugar disso. Toda - saнda й compatнvel com XHTML. - - - Todos os parвmetros que nгo estгo na lista acima sгo impressos como - name/value-pairs de dentro de cada <input>-tags criada. - - - -html_radios - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('cust_radios', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} - - -OUTPUT: (both examples) - -<input type="radio" name="id[]" value="1000">Taniel Fraklin<br /> -<input type="radio" name="id[]" value="1001" checked="checked"><br /> -<input type="radio" name="id[]" value="1002">Marcelo Pereira<br /> -<input type="radio" name="id[]" value="1003">Charlie Brown<br /> - - - - html_select_date - - - - - - - - - - Nome do Atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - prefix - string - Nгo - Date_ - Com o que prefixar o nome da variбvel - - - time - timestamp/YYYY-MM-DD - Nгo - tempo atual no timestamp do unix ou YYYY-MM-DD - format - qual date/time para usar - - - start_year - string - Nгo - ano atual - o primeiro ano no menu dropdown, ou o - nъmero do ano, ou relativo ao ano atual (+/- N) - - - end_year - string - Nгo - da mesma forma que start_year - o ъltimo ano no menu dropdown, ou o - nъmero do ano, ou relativo ao ano atual (+/- N) - - - display_days - boolean - Nгo - true - se mostra os dias ou nгo - - - display_months - boolean - No - true - whether to display months or not - - - display_years - boolean - Nгo - true - se mostra os anos ou nгo - - - month_format - string - Nгo - %B - qual seria o formato do mкs (strftime) - - - day_format - string - Nгo - %02d - a saнda do dia seria em qual formato (sprintf) - - - day_value_format - string - No - %d - o valor do dia seria em qual formato (sprintf) - - - year_as_text - booleano - Nгo - false - se mostra ou nгo o ano como texto - - - reverse_years - booleano - Nгo - false - mostra os anos na ordem reversa - - - field_array - string - Nгo - null - - se um nome й dado, as caixas de seleзгo serгo exibidos assim que os resultados - forem devolvidos ao PHP - na forma de name[Day], name[Year], name[Month]. - - - - day_size - string - No - null - adiciona o atributo de tamanho para a tag select se for dada - - - month_size - string - Nгo - null - adiciona o atributo de tamanho para a tag de select se for dada - - - year_size - string - Nгo - null - adiciona o atributo de tamanho para a tag de select se for dada - - - all_extra - string - No - null - adiciona atributos extras para todas as tags select/input se - forem dadas - - - day_extra - string - Nгo - null - adiciona atributos - extras para todas as tags select/input se forem dadas - - - month_extra - string - Nгo - null - adiciona atributos extras - para todas as tags select/input se forem dadas - - - year_extra - string - Nгo - null - adiciona atributos extras - para todas as tags select/input se forem dadas - - - field_order - string - Nгo - MDY - a ordem para se mostrar os campos - - - field_separator - string - Nгo - \n - string exibida entre os diferentes campos - - - month_value_format - string - Nгo - %m - formato strftime dos valores do mкs, o padrгo й - %m para nъmero de mкs. - - - - - - html_select_date й uma funзгo customizada que cria menus dropdowns - de data para vocк. Ele pode mostrar algo ou tudo de ano, mкs e dia. - - -html_select_date - -{html_select_date} - - -OUTPUT: - -<select name="Date_Month"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="Date_Day"> -<option value="1">01</option> -<option value="2">02</option> -<option value="3">03</option> -<option value="4">04</option> -<option value="5">05</option> -<option value="6">06</option> -<option value="7">07</option> -<option value="8">08</option> -<option value="9">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13" selected>13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -</select> -<select name="Date_Year"> -<option value="2001" selected>2001</option> -</select> - - - - -html_select_date - - -{* ano de comeзo e fim pode ser relativo ao ano atual *} -{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} - -OUTPUT: (o ano atual й 2000) - -<select name="StartDateMonth"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="StartDateYear"> -<option value="1999">1995</option> -<option value="1999">1996</option> -<option value="1999">1997</option> -<option value="1999">1998</option> -<option value="1999">1999</option> -<option value="2000" selected>2000</option> -<option value="2001">2001</option> -</select> - - - - html_select_time - - - - - - - - - - Nome do Atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - prefix - string - Nгo - Time_ - com o que prefixar o nome da variбvel - - - time - timestamp - Nгo - tempo atual - qual date/time para usar - - - display_hours - booleano - Nгo - true - Exibir ou nгo as horas - - - display_minutes - booleano - Nгo - true - Exibir ou nгo os minutos - - - display_seconds - booleano - Nгo - true - Exibir ou nгo os segundos - - - display_meridian - booleano - Nгo - true - Exibir ou nгo da forma (am/pm) - - - use_24_hours - booleano - Nгo - true - Usar ou nгo relуgio de 24 horas - - - minute_interval - inteiro - Nгo - 1 - intervalo dos nъmeros dos minutos do menu dropdown - - - second_interval - integer - Nгo - 1 - intervalo dos nъmeros dos segundos do menu dropdown - - - field_array - string - Nгo - n/a - exibe valores para o array deste nome outputs values to array of this name - - - all_extra - string - Nгo - null - adiciona atributos - extras para tags select/input se fornecidas - - - hour_extra - string - Nгo - null - adiciona atributos - extras para tags select/input se fornecidas - - - minute_extra - string - Nгo - null - adiciona atributos - extras para tags select/input tags se fornecidas - - - second_extra - string - No - null - adiciona atributos - extras para tags select/input se fornecidas - - - meridian_extra - string - Nгo - null - adiciona atributos - extras para tags select/input se fornecidas - - - - - - html_select_time й uma funзгo cusomizada que cria menus dropdowns de hora para vocк. Ela pode mostrar - alguns valores, ou tudo de hora, - minuto, segundo e ainda formato am/pm - - -html_select_time - -{html_select_time use_24_hours=true} - - -OUTPUT: - -<select name="Time_Hour"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09" selected>09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -</select> -<select name="Time_Minute"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20" selected>20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Second"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23" selected>23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Meridian"> -<option value="am" selected>AM</option> -<option value="pm">PM</option> -</select> - - - - html_table - - - - - - - - - - Nome do atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - loop - array - Sim - n/a - array de dados para ser feito o loop - - - cols - inteiro - Nгo - 3 - nъmero de colunas na tabela - - - table_attr - string - Nгo - border="1" - atributos para a tag table - - - tr_attr - string - Nгo - empty - atributos para a tag tr (arrays estгo em ciclo) - - - td_attr - string - Nгo - empty - atributos para a tag (arrays estгo em ciclo) - - - trailpad - string - Nгo - &nbsp; - values to pad the trailing cells on last row with - (se algum) - - - - hdir - string - Nгo - right - direзao de uma linha para ser representada. Possнveis valores: left/right - - - vdir - string - Nгo - down - direзгo das colunas para serem representadas. Possнveis valores: up/down - - - - - - html_table й uma funзгo customizada que transforma um array de dados - em uma tabela HTML. O atributo cols determina com quantas colunas estarгo - na tabela. Os valores table_attr, tr_attr e - td_attr determinam os atributos dados para a tabela, tags tr e td. Se tr_attr ou - td_attr sгo arrays, eles entrarгo em ciclo. - trailpad й o - alor colocado dentro do trailing - cells na ъltima linha da tabela - se hб alguma presente. - - -html_table - -index.php: - -require('Smarty.class.php'); -$smarty = new Smarty; -$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); -$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); -$smarty->display('index.tpl'); - -index.tpl: - -{html_table loop=$data} -{html_table loop=$data cols=4 table_attr='border="0"'} -{html_table loop=$data cols=4 tr_attr=$tr} - -MOSTRA: - -<table border="1"> -<tr><td>1</td><td>2</td><td>3</td></tr> -<tr><td>4</td><td>5</td><td>6</td></tr> -<tr><td>7</td><td>8</td><td>9</td></tr> -</table> -<table border="0"> -<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> -<table border="1"> -<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> - - - - math - - - - - - - - - - Nome do atributo - Tipo - Exigido - Padrгo - Descriзгo - - - - - equation - string - Sim - n/a - a equaзгo para executar - - - format - string - Nгo - n/a - o formato do resultado (sprintf) - - - var - numйrico - Sim - n/a - valor da variбvel da equaзгo - - - assign - string - Nгo - n/a - variбvel de template cuja saнda serб atribuida - - - [var ...] - numйrica - Sim - n/a - valor da variбvel da equaзгo - - - - - - math permite o desenhista de template fazer equaзхes matemбticas no template. - Qualquer variбvel de template numйrica pode ser usada nas equaзхes, e o resultado - й exibido no lugar da tag. As variбveis usadas na equaзгo sгo passadas como parвmetros, - que podem ser variбveis de template - ou valores estбticos. +, -, /, *, abs, ceil, cos, - exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, - srans and tan sгo todos os operadores vбlidos. Verifique a documentaзгo do PHP para - mais informaзхes acerca destas funзхes matemбticas. - - - Se vocк fornece o atributo especial "assign", a saнda da funзгo matemбtica serб - atribuнdo para esta variбvel - de template ao invйs de ser exibida para o template. - - - Nota Tйcnica - - math й uma funзгo de performance cara devido ao uso da funзгo do php eval(). - Fazendo a matemбtica no PHP й muito mais eficiente, entгo sempre й possнvel fazer - os cбlculos matemбticos no PHP e lanзar os resultados para o template. Definitivamente - evite chamadas de funзхes de - matemбticas repetitivamente, como dentro de loops de section. - - - -math - -{* $height=4, $width=5 *} - -{math equation="x + y" x=$height y=$width} - -OUTPUT: - -9 - - -{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} - -{math equation="height * width / division" - height=$row_height - width=$row_width - division=#col_div#} - -OUTPUT: - -100 - - -{* Vocк pode usar parenteses *} - -{math equation="(( x + y ) / z )" x=2 y=10 z=2} - -OUTPUT: - -6 - - -{* vocк pode fornecer um parвmetro de formato em sprintf *} - -{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} - -OUTPUT: - -9.44 - - - - mailto - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - address - string - Sim - n/a - O endereзo de email - - - text - string - Nгo - n/a - O texto para mostrar, o padrгo - й o endereзo de email - - - encode - string - Nгo - none - Como codificar o e-mail. - Pode ser none, - hex ou javascript. - - - cc - string - Nгo - n/a - Endereзo de e-mail para mandar uma cуpia carbono(cc). - Separe os endereзos por vнrgula. - - - bcc - string - Nгo - n/a - Endereзo de e-mail para mandar uma cуpia carbono cega(bcc). - Separe os endereзos por vнrgula. - - - subject - string - Nгo - n/a - Assunto do e-mail. - - - newsgroups - string - Nгo - n/a - newsgroup para postar. - Separe os endereзos por vнrgula. - - - followupto - string - Nгo - n/a - Endereзo para acompanhar. - Separe os endereзos por vнrgula. - - - extra - string - Nгo - n/a - Qualquer outra informaзгo que vocк - queira passar para o link, como - classes de planilhas de estilo - - - - - - mailto automatiza o processo de criaзгo de links de e-mail e opcionalmente - codifica eles. Codificar e-mail torna mais difнcil para - web spiders pegarem endereзos no seu site. - - - Nota Tйcnica - - javascript й provavelmente o meio de codificaзгo mais - utilizado, entretanto vocк pode usar codificaзгo hexadecimal tambйm. - - - -mailto - -{mailto address="me@domain.com"} -{mailto address="me@domain.com" text="send me some mail"} -{mailto address="me@domain.com" encode="javascript"} -{mailto address="me@domain.com" encode="hex"} -{mailto address="me@domain.com" subject="Hello to you!"} -{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} -{mailto address="me@domain.com" extra='class="email"'} - -MOSTRA: - -<a href="mailto:me@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" >send me some mail</a> -<SCRIPT language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 -9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% -61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e -%27%29%3b'))</SCRIPT> -<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >&#x6d;&#x65;&#x40;&#x64;& -#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x2e;&#x63;&#x6f;&#x6d;</a> -<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> -<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" class="email">me@domain.com</a> - - - - popup_init - - popup й uma integraзгo com overLib, uma biblioteca usada para janelas - popup. Esta й usada para informaзхes sensнveis ao contexto, como - janelas de ajuda ou dicas. popup_init deve ser usada uma vez ao - topo de cada pбgina que vocк planeje usar a funзгo popup. overLib - foi escrita por Erik Bosrup, e a pбgina esta localizada em - http://www.bosrup.com/web/overlib/. - - - A partir da versгo 2.1.2 do Smarty, overLib NГO vem com a distribuiзгo. - Baixe o overLib, coloque o arquivo overlib.js dentro da sua arvore de - documentos e indique o caminho relativo para o parвmetro "src" - de popup_init. - - -popup_init - -{* popup_init deve ser utilizada uma vez no topo da pбgina *} -{popup_init src="/javascripts/overlib.js"} - - - - popup - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - text - string - Sim - n/a - O text/html para mostrar na janela popup - - - trigger - string - Nгo - onMouseOver - O que й usado para fazer a janela aparecer. Pode ser - onMouseOver ou onClick - - - sticky - boolean - Nгo - false - Faz a janela colar atй que seja fechada - - - caption - string - Nгo - n/a - Define o texto para o tнtulo - - - fgcolor - string - Nгo - n/a - A cor usada dentro da caixa popup - - - bgcolor - string - Nгo - n/a - A cor da borda da caixa popup - - - textcolor - string - Nгo - n/a - Define a cor do texto dentro da caixa popup - - - capcolor - string - Nгo - n/a - Define a cor do tнtulo da caixa - - - closecolor - string - Nгo - n/a - Define a cor do texto para fechar - - - textfont - string - Nгo - n/a - Define a cor do texto para ser usado no texto principal - - - captionfont - string - Nгo - n/a - Define a fonte para ser usada no Tнtulo - - - closefont - string - Nгo - n/a - Define a fonte para o texto "Close" - - - textsize - string - Nгo - n/a - Define a fonte do texto principa - - - captionsize - string - Nгo - n/a - Define o tamanho da fonte do tнtulo - - - closesize - string - Nгo - n/a - Define o tamanho da fonte do texto "Close" - - - width - integer - Nгo - n/a - Define a largura da caixa - - - height - integer - Nгo - n/a - Define a altura da caixa - - - left - boolean - Nгo - false - Faz os popups irem para a esquerda do mouse - - - right - boolean - Nгo - false - Faz os popups ir para a diresita do mouse - - - center - boolean - Nгo - false - Faz os popups ir para o centro do mouse - - - above - boolean - Nгo - false - Faz os popups irem para acima do mouse. NOTA: somente - possнvel se height foi definido - - - below - boolean - Nгo - false - Faz os popups irem abaixo do mouse - - - border - integer - Nгo - n/a - Torna as bordas dos popups grossas ou finas - - - offsetx - integer - Nгo - n/a - A que distancia do mouse o popup irб - aparecer, horizontalmente - - - offsety - integer - Nгo - n/a - A que distancia do mouse o popup irб - aparecer, verticalmente - - - fgbackground - url para imagem - Nгo - n/a - Define uma imagem para usar ao invйs de uma - cor dentro do popup. - - - bgbackground - url to image - Nгo - n/a - define uma imagem para ser usada como borda - ao invйs de uma cor para o popup. Nota: vocк deve definir bgcolor - como "" ou a cor irб aparecer tambйm. NOTA: quando tiver um - link "Close", o Netscape irб redesenhar as cйlulas da tabela, - fazendo as coisas aparecerem incorretamente - - - closetext - string - Nгo - n/a - Define o texto "Close" para qualquer outra coisa - - - noclose - boolean - Nгo - n/a - Nгo mostra o texto "Close" em coladas - com um tнtulo - - - status - string - Nгo - n/a - Define o texto na barra de status do browser - - - autostatus - boolean - Nгo - n/a - Define o texto da barra de status para o texto do popup. - NOTA: sobrescreve a definiзгo de status - - - autostatuscap - string - Nгo - n/a - define o texto da barra de status como o texto do tнtulo - NOTA: sobrescreve o status e autostatus - - - inarray - integer - Nгo - n/a - Indica ao overLib para ler o texto deste нndice - na matriz ol_text array, localizada em overlib.js. Este - parвmetro pode ser usado ao invйs do texto - - - caparray - integer - Nгo - n/a - diz para overLib ler o tнtulo a partir deste нndice - na matriz ol_caps - - - capicon - url - Nгo - n/a - Mostra a imagem antes do tнtulo - - - snapx - integer - Nгo - n/a - snaps the popup to an even position in a - horizontal grid - - - snapy - integer - Nгo - n/a - snaps the popup to an even position in a - vertical grid - - - fixx - integer - No - n/a - locks the popups horizontal position Note: - overrides all other horizontal placement - - - fixy - integer - No - n/a - locks the popups vertical position Note: - overrides all other vertical placement - - - background - url - Nгo - n/a - Define uma imagem para ser usada como - fundo ao invйs da tabela - - - padx - integer,integer - Nгo - n/a - Prenche a imagem de fundo com espaзos em branco horizontal - para colocaзгo do texto. Nota: este й um comando - de dois parвmetros - - - pady - integer,integer - Nгo - n/a - Prenche a imagem de fundo com espaзos em branco vertical - para colocaзгo do texto. Nota: este й um comando - de dois parвmetros - - - fullhtml - boolean - Nгo - n/a - Permite a vocк controlar o html sobre a figura - de fundo completamente. O cуdigo HTML й esperado - no atributo "text" - - - frame - string - Nгo - n/a - Controla popups em frames diferentes. Veja a pбgina da - overlib para maiores informaзхes sobre esta funзгo - - - timeout - string - Nгo - n/a - Utiliza uma funзгo e pega o valor de retorno - como texto que deva ser mostrado - na janela popup - - - delay - integer - Nгo - n/a - Faz com que o popup funcione como um tooltip. Irб - aparecer apenas apуs um certo atraso em milйsimos de segundo - - - hauto - boolean - Nгo - n/a - Determina automaticamente se o popup deve aparecer - a esquerda ou direita do mouse. - - - vauto - boolean - Nгo - n/a - Determina automaticamente se o popup deve aparecer - abaixo ou acima do mouse. - - - - - - popup й usado para criar janelas popup com javascript. - - -popup - -{* popup_init deve ser utilizada uma vez no topo da pбgina *} -{popup_init src="/javascripts/overlib.js"} - -{* cria um link com uma janela popup que aparece quando se passa o mouse sobre ele *} -<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> - -{* vocк pode usar html, links, etc no texto do popup *} -<A href="mypage.html" {popup sticky=true caption="mypage contents" -text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> - - - - textformat - - - - - - - - - - Nome do Atributo - Tipo - Requerido - Padrгo - Descriзгo - - - - - style - string - Nгo - n/a - estilo prй-definido - - - indent - number - Nгo - 0 - O nъmero de caracteres para endentar cada linha. - - - indent_first - number - Nгo - 0 - O nъmero de caracteres para endentar a primeira linha - - - indent_char - string - Nгo - (single space) - O caractere (ou string de caracteres) para indenta - - - wrap - number - Nгo - 80 - Em quantos caracteres quebrar cada linha - - - wrap_char - string - Nгo - \n - O caractere (ou string de caracteres) para usar - para quebrar cada linha - - - wrap_cut - boolean - Nгo - false - Se true, wrap irб quebrar a linha no caractere - exato em vez de quebrar ao final da palavra - - - assign - string - No - n/a - A variбvel de template que irб - receber a saнda - - - - - - textformat й uma funзгo de bloco usada para formatar texto. Basicamente - limpa espaзos e caracteres especiais, e formata os paragrafos - quebrando o texto ao final de palavras e identando linhas. - - - Vocк pode definir os parвmetros explicitamente, ou usar um estilo prй-definido. - Atualmente o ъnico estilo disponнvel й "email". - - -textformat - -{textformat wrap=40} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -MOSTRA: - -This is foo. This is foo. This is foo. -This is foo. This is foo. This is foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo -foo. bar foo bar foo foo. bar foo bar -foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. - - -{textformat wrap=40 indent=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -MOSTRA: - - This is foo. This is foo. This is - foo. This is foo. This is foo. This - is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - bar foo bar foo foo. bar foo bar - foo foo. - -{textformat wrap=40 indent=4 indent_first=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -MOSTRA: - - This is foo. This is foo. This - is foo. This is foo. This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar - foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. - -{textformat style="email"} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -MOSTRA: - -This is foo. This is foo. This is foo. This is foo. This is foo. This is -foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo -foo. - - - - +&designers.language-custom-functions.language-function-assign; +&designers.language-custom-functions.language-function-counter; +&designers.language-custom-functions.language-function-cycle; +&designers.language-custom-functions.language-function-debug; +&designers.language-custom-functions.language-function-eval; +&designers.language-custom-functions.language-function-fetch; +&designers.language-custom-functions.language-function-html-checkboxes; +&designers.language-custom-functions.language-function-html-image; +&designers.language-custom-functions.language-function-html-options; +&designers.language-custom-functions.language-function-html-radios; +&designers.language-custom-functions.language-function-html-select-date; +&designers.language-custom-functions.language-function-html-select-time; +&designers.language-custom-functions.language-function-html-table; +&designers.language-custom-functions.language-function-math; +&designers.language-custom-functions.language-function-mailto; +&designers.language-custom-functions.language-function-popup-init; +&designers.language-custom-functions.language-function-popup; +&designers.language-custom-functions.language-function-textformat; + + assign + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + var + string + Sim + n/a + O nome da variбvel que esta ganhando valor + + + value + string + Yes + n/a + O valor que esta sendo dado + + + + + + assign й usado para definir valores para variбvel + de template durante a execuзгo do template. + + +assign + +{assign var="name" value="Bob"} + +The value of $name is {$name}. + +MOSTRA: + +The value of $name is Bob. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-counter.xml b/docs/pt_BR/designers/language-custom-functions/language-function-counter.xml new file mode 100644 index 00000000..8f90ac94 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-counter.xml @@ -0,0 +1,119 @@ + + + + counter + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Nгo + default + O nome do contador + + + start + number + Nгo + 1 + O nъmero inicial para contar a partir de + + + skip + number + Nгo + 1 + O intervalo para contar + + + direction + string + Nгo + up + A direзгo para contar (up/down) + + + print + boolean + Nгo + true + Quando mostrar ou nгo o valor + + + assign + string + Nгo + n/a + A variбvel de template que vai + receber a saнda + + + + + + counter й usada para mostrar uma contagem. counter irб se lembrar de + count em cada interaзгo. Vocк pode ajustar o nъmero, o intervalo + e a direзгo da contagem, assim como detrminar quando + mostrar ou nгo a contagem. Vocк pode ter varios contadores ao + mesmo tempo, dando um nome ъnico para cada um. Se vocк nгo der um nome, + o nome 'default' serб usado. + + + Se vocк indicar o atributo especial "assign", a saнda da funзгo counter + irб para essa variбvel de template ao invйs de + ser mostrada no template. + + +counter + +{* inicia a contagem *} +{counter start=0 skip=2 print=false} + +{counter}<br> +{counter}<br> +{counter}<br> +{counter}<br> + +MOSTRA: + +2<br> +4<br> +6<br> +8<br> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-cycle.xml b/docs/pt_BR/designers/language-custom-functions/language-function-cycle.xml new file mode 100644 index 00000000..4052350d --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-cycle.xml @@ -0,0 +1,136 @@ + + + + cycle + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Nгo + default + O nome do ciclo + + + values + mixed + Sim + N/A + Os valores do ciclo, ou uma lista delimitada + por vнrgula (veja o atributo delimiter), + ou uma matriz de valores. + + + print + boolean + Nгo + true + Quando mostrar ou nгo o valor + + + advance + boolean + Nгo + true + Quando avanзar ou nгo para o prуximo valor + + + delimiter + string + Nгo + , + O delimitador para usar no atributo values. + + + assign + string + Nгo + n/a + A variбvel de template que + receberб a saнda + + + + + + Cycle й usado para fazer um clico atravйs de um conjunto de valores. + Isto torna fбcil alternar entre duas ou mais cores em uma tabela, + ou entre uma matriz de valores. + + + Vocк pode usar o cycle em mais de um conjunto de valores + no seu template. Dк a cada conjunto de valores + um nome ъnico. + + + Vocк pode fazer com que o valor atual nгo seja mostrado + definindo o atributo print para false. Isto й ъtil para + pular um valor. + + + O atributo advance й usado para repetir um valor. Quando definido + para false, a prуxima chamada para cycle irб mostrar o mesmo valor. + + + Se vocк indicar o atributo especial "assign", a saнda da funзгo + cycle irб para a variбvel de template ao invйs de ser + mostrado diretamente no template. + + +cycle + +{section name=rows loop=$data} +<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> + <td>{$data[rows]}</td> +</tr> +{/section} + +MOSTRA: + +<tr bgcolor="#eeeeee"> + <td>1</td> +</tr> +<tr bgcolor="#d0d0d0"> + <td>2</td> +</tr> +<tr bgcolor="#eeeeee"> + <td>3</td> +</tr> + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-debug.xml b/docs/pt_BR/designers/language-custom-functions/language-function-debug.xml new file mode 100644 index 00000000..57c7a60c --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-debug.xml @@ -0,0 +1,60 @@ + + + + debug + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + output + string + Nгo + html + Tipo de saнda, html ou javascript + + + + + + {debug} mostra o console de debug na pбgina. Isto funciona independente + da definiзгo de debug. + Jб que isto й executado em tempo de execuзгo, isto й capaz apenas de + mostrar as variбveis definidas, e nгo os templates + que estejam em uso. Mas vocк pode ver todas as variбveis + disponнveis no escopo do template. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-eval.xml b/docs/pt_BR/designers/language-custom-functions/language-function-eval.xml new file mode 100644 index 00000000..09377e46 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-eval.xml @@ -0,0 +1,119 @@ + + + + eval + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + var + mixed + Sim + n/a + Variбvel (ou string) para avaliar + + + assign + string + Nгo + n/a + A variбvel de template que + receberб a saнda + + + + + + eval й usado para avaliar uma variбvel como template. Isto pode ser usado para + coisas como embutir tags/variбveis de template dentro de variбveis + ou tags/variбveis dentro de variбveis em um arquivo de configuraзгo. + + + Se vocк indicar o atributo especial "assign", a saнda da funзгo + eval irб para esta variбvel de template ao + invйs de aparecer no template. + + + Nota Tйcnica + + Variбveis avaliadas sгo tratadas igual a templates. Elas seguem + o mesmo funcionamento para escapar e para seguranзa como + se fossem templates. + + + + Nota Tйcnica + + Variбveis avaliadas sгo compiladas a cada invocaзгo, as versхes + compiladas nгo sгo salvas. Entretando, se vocк tiver o cache ativado, + a saнda vai ficar no cache junto com o resto do template. + + + +eval + +setup.conf +---------- + +emphstart = <b> +emphend = </b> +title = Welcome to {$company}'s home page! +ErrorCity = You must supply a {#emphstart#}city{#emphend#}. +ErrorState = You must supply a {#emphstart#}state{#emphend#}. + + +index.tpl +--------- + +{config_load file="setup.conf"} + +{eval var=$foo} +{eval var=#title#} +{eval var=#ErrorCity#} +{eval var=#ErrorState# assign="state_error"} +{$state_error} + +MOSTRA: + +This is the contents of foo. +Welcome to Foobar Pub & Grill's home page! +You must supply a <b>city</b>. +You must supply a <b>state</b>. + + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-fetch.xml b/docs/pt_BR/designers/language-custom-functions/language-function-fetch.xml new file mode 100644 index 00000000..f8319afe --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-fetch.xml @@ -0,0 +1,107 @@ + + + + fetch + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + file + string + Sim + n/a + O arquivo, site http ou ftp para obter + + + assign + string + Nгo + n/a + A variбvel de template + que vai receber a saнda + + + + + + fetch й usado para obter arquivos do sistema de arquivos local, + http ou ftp, e mostrar o seu conteъdo. Se o nome do arquivo comeзar + com "http://", a pбgina do web site serб obtidae mostrada. Se o + nome do arquivo comeзar com "ftp://", o arquivo serб obtido do servidor + ftp e mostrado. Para arquivos locais, o caminho completo do sistema de + arquivos deve ser dado, ou um caminho relativo ao script php executado. + + + Se vocк indicar o atributo especial "assign", a saнda da funзгo + fetch irб para uma variбvel de template ao ivйs de + ser mostrado no template. (novo no Smarty 1.5.0) + + + Nota Tйcnica + + Isto nгo suporta redirecionamento http, tenha + certesa de incluir a barra no final aonde necessбrio. + + + + Nota Tйcnica + + Se a seguranзa do template esta ativada e vocк + estiver obtendo um arquivo do sistema de arquivos local, isto + irб permitir apenas arquivos de um dos diretуrios + definidos como seguros. ($secure_dir) + + + +fetch + +{* inclui algum javascript no seu template *} +{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} + +{* embute algum texto sobre o tempo de outro web site *} +{fetch file="http://www.myweather.com/68502/"} + +{* obtйm um arquivo de notнcias via ftp *} +{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} + +{* coloca o conteъdo obtido para uma varбvel de template *} +{fetch file="http://www.myweather.com/68502/" assign="weather"} +{if $weather ne ""} + <b>{$weather}</b> +{/if} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-checkboxes.xml new file mode 100644 index 00000000..037946ac --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-checkboxes.xml @@ -0,0 +1,147 @@ + + + + html_checkboxes + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + name + string + Nгo + checkbox + O nome da lista checkbox + + + values + array + Sim, a menos que estaja usando o atributo options + n/a + Uma matriz de valores para os botхes checkbox + + + output + array + Sim, a menos que estaja usando o atributo options + n/a + uma matriz de saнda para os botхes checkbox + + + selected + string/array + Nгo + empty + O(s) elemento(s) checkbox marcado(s) + + + options + matriz + Sim, a mesnos que esteja usando values e output + n/a + Uma matriz associativa de valores e saнda + + + separator + string + Nгo + empty + string de texto para separar cada checkbox + + + labels + boolean + Nгo + true + Adicionar tags <label> para na saнda + + + + + + html_checkboxes й uma funзгo personalizada que cria um grupo de + checkbox com os dados providos. Ela cuida de qual(is) item(s) + estгo selecionado(s) por padrгo. Os atributos requeridos sгo + values e output, a menos que vocк use options. + Toda a saнda й compatнvel com XHTML. + + + Todos os parвmetro que nгo estejam na lista acima sгo mostrados + como pares nome/valor dentro de cada tag <input> criada. + + +html_checkboxes + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_checkboxes', array( + 1000 => 'Joe Schmoe', + 1001 => 'Jack Smith', + 1002 => 'Jane Johnson', + 1003 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} + + +MOSTRA: (ambos os exemplos) + +<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br /> +<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br /> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-image.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-image.xml new file mode 100644 index 00000000..b1c70f02 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-image.xml @@ -0,0 +1,143 @@ + + + + html_image + + + + + + + + + + Nome do Atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + file + string + Sim + n/a + name/path para a imagem + + + border + string + Nгo + 0 + tamanho da borda de contorno da imagem + + + height + string + Nгo + altura atual da imagem + altura com a qual a imagem deve ser mostrada + + + width + string + Nгo + largura atual da imagem + largura com a qual a imagem deve ser mostrada + + + basedir + string + Nгo + doc root do servidor + diretуrio de base a caminhos relativos + + + alt + string + Nгo + "" + descriзгo alternativa da imagem + + + href + string + Nгo + n/a + valor href para aonde a imagem serб ligada + + + + + + html_image й uma funзгo customizada que gera uma tag HTML para uma imagem. + A altura e a largura sгo automaticamente calculadas a partir do arquivo de imagem se + nenhum valor й fornecido. + + + basedir й o diretуrio base do qual caminhos relativos de imagens estгo baseados. + Se nгo fornecido, o document root do servidor (variбvel de ambiente DOCUMENT_ROOT) й usada + como o diretуrio base. Se a seguranзa estб habilitada, o caminho para a imagem deve estar dentro + de um diretуrio seguro. + + + href й o valor href para onde a imagem serб ligada. Se um link й fornecido, + uma tag <a href="LINKVALUE"><a> й posta em volta da tag da imagem. + + + Nota Tйcnica + + html_image requer uma aзгo ao disco para ler a imagem e calcular + a altura e a largura. Se vocк nгo usa caching de template, normalmente й + melhor evitar html_image e deixar as tags de imagem estбticas para performance + otimizada. + + + +html_image + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->display('index.tpl'); + +index.tpl: + +{html_image file="pumpkin.jpg"} +{html_image file="/path/from/docroot/pumpkin.jpg"} +{html_image file="../path/relative/to/currdir/pumpkin.jpg"} + +OUTPUT: (possнvel) + +<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /> +<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" /> +<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" /> + + + + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-options.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-options.xml new file mode 100644 index 00000000..9ebd7650 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-options.xml @@ -0,0 +1,149 @@ + + + + html_options + + + + + + + + + + Nome do Atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + values + array + Sim, a menos que usando atributos de opзхes + n/a + um array de valores para o menu dropdown + + + output + array + Sim, a menos que usando atributos de opзхes + n/a + um array de saнda para o menu dropdown + + + selected + string/array + Nгo + empty + o elemento do option selecionado + + + options + associative array + Sim, a menos que usando valores e saнda + n/a + um array associativo de valores e saнda + + + name + string + Nгo + empty + nome do grupo selecionado + + + + + + html_options й uma funзгo customizada que cria um grupo html option com os dados fornecidos. + Ela estб atenta de quais itens sгo selecionados por definiзгo. Atributos exigidos sгo valores e + saнda, a menos que vocк use options + no lugar. + + + Se um valor dado й um array, ele serб tratado como um OPTGROUP html, + e mostrarб os grupos. + Recursion й suportado com OPTGROUP. Todas as saнdas estгo compatнveis com XHTML. + + + Se o atributo opcional name й dado, as tags + <select name="groupname"></select> irгo enclausurar a lista de opзхes. + Caso contrбrio apenas a lista de opзхes й gerada. + + + Todos os parвmetros que nгo estгo na lista acima sгo exibidos como + name/value-pairs dentro de <select>-tag. Eles sгo ignorados se o opcional + namenгo й dado. + + +html_options + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options values=$cust_ids selected=$customer_id output=$cust_names} +</select> + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_options', array( + 1001 => 'Taniel Franklin', + 1002 => 'Fernando Correa', + 1003 => 'Marcelo Pereira', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options options=$cust_options selected=$customer_id} +</select> + + +OUTPUT: (both examples) + +<select name=customer_id> + <option value="1000">Taniel Franklin</option> + <option value="1001" selected="selected">Fernando Correa</option> + <option value="1002">Marcelo Pereira</option> + <option value="1003">Charlie Brown</option> +</select> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-radios.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-radios.xml new file mode 100644 index 00000000..6fff00c4 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-radios.xml @@ -0,0 +1,142 @@ + + + + html_radios + + + + + + + + + + Nome do Atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + name + string + Nгo + radio + nome da radio list + + + values + array + Sim, a menos que utilizando atributo de opзхes + n/a + um array de valores para radio buttons + + + output + array + Sim, a menos que utilizando atributo de opзхes + n/a + um array de saнda pra radio buttons + + + checked + string + Nгo + empty + O elemento do radio assinalado + + + options + associative array + Sim, a menos que utilizando valores e saнda + n/a + um array associativo de valores e saнda + + + separator + string + Nгo + empty + string de texto para separae cada item de radio + + + + + + html_radios й uma funзгo customizada que cria grupo de botхes de radio html + com os dados fornecidos. Ele estб atento para qual item estб selecionado por definiзгo. + Atributos exigidos sгo valores e saнdas, a menos que vocк use opзхes no lugar disso. Toda + saнda й compatнvel com XHTML. + + + Todos os parвmetros que nгo estгo na lista acima sгo impressos como + name/value-pairs de dentro de cada <input>-tags criada. + + + +html_radios + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('cust_radios', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} + + +OUTPUT: (both examples) + +<input type="radio" name="id[]" value="1000">Taniel Fraklin<br /> +<input type="radio" name="id[]" value="1001" checked="checked"><br /> +<input type="radio" name="id[]" value="1002">Marcelo Pereira<br /> +<input type="radio" name="id[]" value="1003">Charlie Brown<br /> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-select-date.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-select-date.xml new file mode 100644 index 00000000..6848ef7c --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-select-date.xml @@ -0,0 +1,316 @@ + + + + html_select_date + + + + + + + + + + Nome do Atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + prefix + string + Nгo + Date_ + Com o que prefixar o nome da variбvel + + + time + timestamp/YYYY-MM-DD + Nгo + tempo atual no timestamp do unix ou YYYY-MM-DD + format + qual date/time para usar + + + start_year + string + Nгo + ano atual + o primeiro ano no menu dropdown, ou o + nъmero do ano, ou relativo ao ano atual (+/- N) + + + end_year + string + Nгo + da mesma forma que start_year + o ъltimo ano no menu dropdown, ou o + nъmero do ano, ou relativo ao ano atual (+/- N) + + + display_days + boolean + Nгo + true + se mostra os dias ou nгo + + + display_months + boolean + No + true + whether to display months or not + + + display_years + boolean + Nгo + true + se mostra os anos ou nгo + + + month_format + string + Nгo + %B + qual seria o formato do mкs (strftime) + + + day_format + string + Nгo + %02d + a saнda do dia seria em qual formato (sprintf) + + + day_value_format + string + No + %d + o valor do dia seria em qual formato (sprintf) + + + year_as_text + booleano + Nгo + false + se mostra ou nгo o ano como texto + + + reverse_years + booleano + Nгo + false + mostra os anos na ordem reversa + + + field_array + string + Nгo + null + + se um nome й dado, as caixas de seleзгo serгo exibidos assim que os resultados + forem devolvidos ao PHP + na forma de name[Day], name[Year], name[Month]. + + + + day_size + string + No + null + adiciona o atributo de tamanho para a tag select se for dada + + + month_size + string + Nгo + null + adiciona o atributo de tamanho para a tag de select se for dada + + + year_size + string + Nгo + null + adiciona o atributo de tamanho para a tag de select se for dada + + + all_extra + string + No + null + adiciona atributos extras para todas as tags select/input se + forem dadas + + + day_extra + string + Nгo + null + adiciona atributos + extras para todas as tags select/input se forem dadas + + + month_extra + string + Nгo + null + adiciona atributos extras + para todas as tags select/input se forem dadas + + + year_extra + string + Nгo + null + adiciona atributos extras + para todas as tags select/input se forem dadas + + + field_order + string + Nгo + MDY + a ordem para se mostrar os campos + + + field_separator + string + Nгo + \n + string exibida entre os diferentes campos + + + month_value_format + string + Nгo + %m + formato strftime dos valores do mкs, o padrгo й + %m para nъmero de mкs. + + + + + + html_select_date й uma funзгo customizada que cria menus dropdowns + de data para vocк. Ele pode mostrar algo ou tudo de ano, mкs e dia. + + +html_select_date + +{html_select_date} + + +OUTPUT: + +<select name="Date_Month"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="Date_Day"> +<option value="1">01</option> +<option value="2">02</option> +<option value="3">03</option> +<option value="4">04</option> +<option value="5">05</option> +<option value="6">06</option> +<option value="7">07</option> +<option value="8">08</option> +<option value="9">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13" selected>13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select> +<select name="Date_Year"> +<option value="2001" selected>2001</option> +</select> + + + + +html_select_date + + +{* ano de comeзo e fim pode ser relativo ao ano atual *} +{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} + +OUTPUT: (o ano atual й 2000) + +<select name="StartDateMonth"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="StartDateYear"> +<option value="1999">1995</option> +<option value="1999">1996</option> +<option value="1999">1997</option> +<option value="1999">1998</option> +<option value="1999">1999</option> +<option value="2000" selected>2000</option> +<option value="2001">2001</option> +</select> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-select-time.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-select-time.xml new file mode 100644 index 00000000..18d707a7 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-select-time.xml @@ -0,0 +1,323 @@ + + + + html_select_time + + + + + + + + + + Nome do Atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + prefix + string + Nгo + Time_ + com o que prefixar o nome da variбvel + + + time + timestamp + Nгo + tempo atual + qual date/time para usar + + + display_hours + booleano + Nгo + true + Exibir ou nгo as horas + + + display_minutes + booleano + Nгo + true + Exibir ou nгo os minutos + + + display_seconds + booleano + Nгo + true + Exibir ou nгo os segundos + + + display_meridian + booleano + Nгo + true + Exibir ou nгo da forma (am/pm) + + + use_24_hours + booleano + Nгo + true + Usar ou nгo relуgio de 24 horas + + + minute_interval + inteiro + Nгo + 1 + intervalo dos nъmeros dos minutos do menu dropdown + + + second_interval + integer + Nгo + 1 + intervalo dos nъmeros dos segundos do menu dropdown + + + field_array + string + Nгo + n/a + exibe valores para o array deste nome outputs values to array of this name + + + all_extra + string + Nгo + null + adiciona atributos + extras para tags select/input se fornecidas + + + hour_extra + string + Nгo + null + adiciona atributos + extras para tags select/input se fornecidas + + + minute_extra + string + Nгo + null + adiciona atributos + extras para tags select/input tags se fornecidas + + + second_extra + string + No + null + adiciona atributos + extras para tags select/input se fornecidas + + + meridian_extra + string + Nгo + null + adiciona atributos + extras para tags select/input se fornecidas + + + + + + html_select_time й uma funзгo cusomizada que cria menus dropdowns de hora para vocк. Ela pode mostrar + alguns valores, ou tudo de hora, + minuto, segundo e ainda formato am/pm + + +html_select_time + +{html_select_time use_24_hours=true} + + +OUTPUT: + +<select name="Time_Hour"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09" selected>09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +</select> +<select name="Time_Minute"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20" selected>20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Second"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23" selected>23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Meridian"> +<option value="am" selected>AM</option> +<option value="pm">PM</option> +</select> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-html-table.xml b/docs/pt_BR/designers/language-custom-functions/language-function-html-table.xml new file mode 100644 index 00000000..d2bc9d20 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-html-table.xml @@ -0,0 +1,149 @@ + + + + html_table + + + + + + + + + + Nome do atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + loop + array + Sim + n/a + array de dados para ser feito o loop + + + cols + inteiro + Nгo + 3 + nъmero de colunas na tabela + + + table_attr + string + Nгo + border="1" + atributos para a tag table + + + tr_attr + string + Nгo + empty + atributos para a tag tr (arrays estгo em ciclo) + + + td_attr + string + Nгo + empty + atributos para a tag (arrays estгo em ciclo) + + + trailpad + string + Nгo + &nbsp; + values to pad the trailing cells on last row with + (se algum) + + + + hdir + string + Nгo + right + direзao de uma linha para ser representada. Possнveis valores: left/right + + + vdir + string + Nгo + down + direзгo das colunas para serem representadas. Possнveis valores: up/down + + + + + + html_table й uma funзгo customizada que transforma um array de dados + em uma tabela HTML. O atributo cols determina com quantas colunas estarгo + na tabela. Os valores table_attr, tr_attr e + td_attr determinam os atributos dados para a tabela, tags tr e td. Se tr_attr ou + td_attr sгo arrays, eles entrarгo em ciclo. + trailpad й o + alor colocado dentro do trailing + cells na ъltima linha da tabela + se hб alguma presente. + + +html_table + +index.php: + +require('Smarty.class.php'); +$smarty = new Smarty; +$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); +$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); +$smarty->display('index.tpl'); + +index.tpl: + +{html_table loop=$data} +{html_table loop=$data cols=4 table_attr='border="0"'} +{html_table loop=$data cols=4 tr_attr=$tr} + +MOSTRA: + +<table border="1"> +<tr><td>1</td><td>2</td><td>3</td></tr> +<tr><td>4</td><td>5</td><td>6</td></tr> +<tr><td>7</td><td>8</td><td>9</td></tr> +</table> +<table border="0"> +<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> +<table border="1"> +<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-mailto.xml b/docs/pt_BR/designers/language-custom-functions/language-function-mailto.xml new file mode 100644 index 00000000..28cb08e0 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-mailto.xml @@ -0,0 +1,154 @@ + + + + mailto + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + address + string + Sim + n/a + O endereзo de email + + + text + string + Nгo + n/a + O texto para mostrar, o padrгo + й o endereзo de email + + + encode + string + Nгo + none + Como codificar o e-mail. + Pode ser none, + hex ou javascript. + + + cc + string + Nгo + n/a + Endereзo de e-mail para mandar uma cуpia carbono(cc). + Separe os endereзos por vнrgula. + + + bcc + string + Nгo + n/a + Endereзo de e-mail para mandar uma cуpia carbono cega(bcc). + Separe os endereзos por vнrgula. + + + subject + string + Nгo + n/a + Assunto do e-mail. + + + newsgroups + string + Nгo + n/a + newsgroup para postar. + Separe os endereзos por vнrgula. + + + followupto + string + Nгo + n/a + Endereзo para acompanhar. + Separe os endereзos por vнrgula. + + + extra + string + Nгo + n/a + Qualquer outra informaзгo que vocк + queira passar para o link, como + classes de planilhas de estilo + + + + + + mailto automatiza o processo de criaзгo de links de e-mail e opcionalmente + codifica eles. Codificar e-mail torna mais difнcil para + web spiders pegarem endereзos no seu site. + + + Nota Tйcnica + + javascript й provavelmente o meio de codificaзгo mais + utilizado, entretanto vocк pode usar codificaзгo hexadecimal tambйm. + + + +mailto + +{mailto address="me@domain.com"} +{mailto address="me@domain.com" text="send me some mail"} +{mailto address="me@domain.com" encode="javascript"} +{mailto address="me@domain.com" encode="hex"} +{mailto address="me@domain.com" subject="Hello to you!"} +{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} +{mailto address="me@domain.com" extra='class="email"'} + +MOSTRA: + +<a href="mailto:me@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" >send me some mail</a> +<SCRIPT language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 +9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% +61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e +%27%29%3b'))</SCRIPT> +<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >&#x6d;&#x65;&#x40;&#x64;& +#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x2e;&#x63;&#x6f;&#x6d;</a> +<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> +<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" class="email">me@domain.com</a> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-math.xml b/docs/pt_BR/designers/language-custom-functions/language-function-math.xml new file mode 100644 index 00000000..6103c63c --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-math.xml @@ -0,0 +1,146 @@ + + + + math + + + + + + + + + + Nome do atributo + Tipo + Exigido + Padrгo + Descriзгo + + + + + equation + string + Sim + n/a + a equaзгo para executar + + + format + string + Nгo + n/a + o formato do resultado (sprintf) + + + var + numйrico + Sim + n/a + valor da variбvel da equaзгo + + + assign + string + Nгo + n/a + variбvel de template cuja saнda serб atribuida + + + [var ...] + numйrica + Sim + n/a + valor da variбvel da equaзгo + + + + + + math permite o desenhista de template fazer equaзхes matemбticas no template. + Qualquer variбvel de template numйrica pode ser usada nas equaзхes, e o resultado + й exibido no lugar da tag. As variбveis usadas na equaзгo sгo passadas como parвmetros, + que podem ser variбveis de template + ou valores estбticos. +, -, /, *, abs, ceil, cos, + exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, + srans and tan sгo todos os operadores vбlidos. Verifique a documentaзгo do PHP para + mais informaзхes acerca destas funзхes matemбticas. + + + Se vocк fornece o atributo especial "assign", a saнda da funзгo matemбtica serб + atribuнdo para esta variбvel + de template ao invйs de ser exibida para o template. + + + Nota Tйcnica + + math й uma funзгo de performance cara devido ao uso da funзгo do php eval(). + Fazendo a matemбtica no PHP й muito mais eficiente, entгo sempre й possнvel fazer + os cбlculos matemбticos no PHP e lanзar os resultados para o template. Definitivamente + evite chamadas de funзхes de + matemбticas repetitivamente, como dentro de loops de section. + + + +math + +{* $height=4, $width=5 *} + +{math equation="x + y" x=$height y=$width} + +OUTPUT: + +9 + + +{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} + +{math equation="height * width / division" + height=$row_height + width=$row_width + division=#col_div#} + +OUTPUT: + +100 + + +{* Vocк pode usar parenteses *} + +{math equation="(( x + y ) / z )" x=2 y=10 z=2} + +OUTPUT: + +6 + + +{* vocк pode fornecer um parвmetro de formato em sprintf *} + +{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} + +OUTPUT: + +9.44 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-popup-init.xml b/docs/pt_BR/designers/language-custom-functions/language-function-popup-init.xml new file mode 100644 index 00000000..e09718cd --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-popup-init.xml @@ -0,0 +1,46 @@ + + + + popup_init + + popup й uma integraзгo com overLib, uma biblioteca usada para janelas + popup. Esta й usada para informaзхes sensнveis ao contexto, como + janelas de ajuda ou dicas. popup_init deve ser usada uma vez ao + topo de cada pбgina que vocк planeje usar a funзгo popup. overLib + foi escrita por Erik Bosrup, e a pбgina esta localizada em + http://www.bosrup.com/web/overlib/. + + + A partir da versгo 2.1.2 do Smarty, overLib NГO vem com a distribuiзгo. + Baixe o overLib, coloque o arquivo overlib.js dentro da sua arvore de + documentos e indique o caminho relativo para o parвmetro "src" + de popup_init. + + +popup_init + +{* popup_init deve ser utilizada uma vez no topo da pбgina *} +{popup_init src="/javascripts/overlib.js"} + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-popup.xml b/docs/pt_BR/designers/language-custom-functions/language-function-popup.xml new file mode 100644 index 00000000..698ad4a6 --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-popup.xml @@ -0,0 +1,429 @@ + + + + popup + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + text + string + Sim + n/a + O text/html para mostrar na janela popup + + + trigger + string + Nгo + onMouseOver + O que й usado para fazer a janela aparecer. Pode ser + onMouseOver ou onClick + + + sticky + boolean + Nгo + false + Faz a janela colar atй que seja fechada + + + caption + string + Nгo + n/a + Define o texto para o tнtulo + + + fgcolor + string + Nгo + n/a + A cor usada dentro da caixa popup + + + bgcolor + string + Nгo + n/a + A cor da borda da caixa popup + + + textcolor + string + Nгo + n/a + Define a cor do texto dentro da caixa popup + + + capcolor + string + Nгo + n/a + Define a cor do tнtulo da caixa + + + closecolor + string + Nгo + n/a + Define a cor do texto para fechar + + + textfont + string + Nгo + n/a + Define a cor do texto para ser usado no texto principal + + + captionfont + string + Nгo + n/a + Define a fonte para ser usada no Tнtulo + + + closefont + string + Nгo + n/a + Define a fonte para o texto "Close" + + + textsize + string + Nгo + n/a + Define a fonte do texto principa + + + captionsize + string + Nгo + n/a + Define o tamanho da fonte do tнtulo + + + closesize + string + Nгo + n/a + Define o tamanho da fonte do texto "Close" + + + width + integer + Nгo + n/a + Define a largura da caixa + + + height + integer + Nгo + n/a + Define a altura da caixa + + + left + boolean + Nгo + false + Faz os popups irem para a esquerda do mouse + + + right + boolean + Nгo + false + Faz os popups ir para a diresita do mouse + + + center + boolean + Nгo + false + Faz os popups ir para o centro do mouse + + + above + boolean + Nгo + false + Faz os popups irem para acima do mouse. NOTA: somente + possнvel se height foi definido + + + below + boolean + Nгo + false + Faz os popups irem abaixo do mouse + + + border + integer + Nгo + n/a + Torna as bordas dos popups grossas ou finas + + + offsetx + integer + Nгo + n/a + A que distancia do mouse o popup irб + aparecer, horizontalmente + + + offsety + integer + Nгo + n/a + A que distancia do mouse o popup irб + aparecer, verticalmente + + + fgbackground + url para imagem + Nгo + n/a + Define uma imagem para usar ao invйs de uma + cor dentro do popup. + + + bgbackground + url to image + Nгo + n/a + define uma imagem para ser usada como borda + ao invйs de uma cor para o popup. Nota: vocк deve definir bgcolor + como "" ou a cor irб aparecer tambйm. NOTA: quando tiver um + link "Close", o Netscape irб redesenhar as cйlulas da tabela, + fazendo as coisas aparecerem incorretamente + + + closetext + string + Nгo + n/a + Define o texto "Close" para qualquer outra coisa + + + noclose + boolean + Nгo + n/a + Nгo mostra o texto "Close" em coladas + com um tнtulo + + + status + string + Nгo + n/a + Define o texto na barra de status do browser + + + autostatus + boolean + Nгo + n/a + Define o texto da barra de status para o texto do popup. + NOTA: sobrescreve a definiзгo de status + + + autostatuscap + string + Nгo + n/a + define o texto da barra de status como o texto do tнtulo + NOTA: sobrescreve o status e autostatus + + + inarray + integer + Nгo + n/a + Indica ao overLib para ler o texto deste нndice + na matriz ol_text array, localizada em overlib.js. Este + parвmetro pode ser usado ao invйs do texto + + + caparray + integer + Nгo + n/a + diz para overLib ler o tнtulo a partir deste нndice + na matriz ol_caps + + + capicon + url + Nгo + n/a + Mostra a imagem antes do tнtulo + + + snapx + integer + Nгo + n/a + snaps the popup to an even position in a + horizontal grid + + + snapy + integer + Nгo + n/a + snaps the popup to an even position in a + vertical grid + + + fixx + integer + No + n/a + locks the popups horizontal position Note: + overrides all other horizontal placement + + + fixy + integer + No + n/a + locks the popups vertical position Note: + overrides all other vertical placement + + + background + url + Nгo + n/a + Define uma imagem para ser usada como + fundo ao invйs da tabela + + + padx + integer,integer + Nгo + n/a + Prenche a imagem de fundo com espaзos em branco horizontal + para colocaзгo do texto. Nota: este й um comando + de dois parвmetros + + + pady + integer,integer + Nгo + n/a + Prenche a imagem de fundo com espaзos em branco vertical + para colocaзгo do texto. Nota: este й um comando + de dois parвmetros + + + fullhtml + boolean + Nгo + n/a + Permite a vocк controlar o html sobre a figura + de fundo completamente. O cуdigo HTML й esperado + no atributo "text" + + + frame + string + Nгo + n/a + Controla popups em frames diferentes. Veja a pбgina da + overlib para maiores informaзхes sobre esta funзгo + + + timeout + string + Nгo + n/a + Utiliza uma funзгo e pega o valor de retorno + como texto que deva ser mostrado + na janela popup + + + delay + integer + Nгo + n/a + Faz com que o popup funcione como um tooltip. Irб + aparecer apenas apуs um certo atraso em milйsimos de segundo + + + hauto + boolean + Nгo + n/a + Determina automaticamente se o popup deve aparecer + a esquerda ou direita do mouse. + + + vauto + boolean + Nгo + n/a + Determina automaticamente se o popup deve aparecer + abaixo ou acima do mouse. + + + + + + popup й usado para criar janelas popup com javascript. + + +popup + +{* popup_init deve ser utilizada uma vez no topo da pбgina *} +{popup_init src="/javascripts/overlib.js"} + +{* cria um link com uma janela popup que aparece quando se passa o mouse sobre ele *} +<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> + +{* vocк pode usar html, links, etc no texto do popup *} +<A href="mypage.html" {popup sticky=true caption="mypage contents" +text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-custom-functions/language-function-textformat.xml b/docs/pt_BR/designers/language-custom-functions/language-function-textformat.xml new file mode 100644 index 00000000..7298ec1f --- /dev/null +++ b/docs/pt_BR/designers/language-custom-functions/language-function-textformat.xml @@ -0,0 +1,254 @@ + + + + textformat + + + + + + + + + + Nome do Atributo + Tipo + Requerido + Padrгo + Descriзгo + + + + + style + string + Nгo + n/a + estilo prй-definido + + + indent + number + Nгo + 0 + O nъmero de caracteres para endentar cada linha. + + + indent_first + number + Nгo + 0 + O nъmero de caracteres para endentar a primeira linha + + + indent_char + string + Nгo + (single space) + O caractere (ou string de caracteres) para indenta + + + wrap + number + Nгo + 80 + Em quantos caracteres quebrar cada linha + + + wrap_char + string + Nгo + \n + O caractere (ou string de caracteres) para usar + para quebrar cada linha + + + wrap_cut + boolean + Nгo + false + Se true, wrap irб quebrar a linha no caractere + exato em vez de quebrar ao final da palavra + + + assign + string + No + n/a + A variбvel de template que irб + receber a saнda + + + + + + textformat й uma funзгo de bloco usada para formatar texto. Basicamente + limpa espaзos e caracteres especiais, e formata os paragrafos + quebrando o texto ao final de palavras e identando linhas. + + + Vocк pode definir os parвmetros explicitamente, ou usar um estilo prй-definido. + Atualmente o ъnico estilo disponнvel й "email". + + +textformat + +{textformat wrap=40} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +MOSTRA: + +This is foo. This is foo. This is foo. +This is foo. This is foo. This is foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo +foo. bar foo bar foo foo. bar foo bar +foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. + + +{textformat wrap=40 indent=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +MOSTRA: + + This is foo. This is foo. This is + foo. This is foo. This is foo. This + is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. bar foo bar foo foo. + bar foo bar foo foo. bar foo bar + foo foo. + +{textformat wrap=40 indent=4 indent_first=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +MOSTRA: + + This is foo. This is foo. This + is foo. This is foo. This is foo. + This is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar + foo foo. bar foo bar foo foo. bar + foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. + +{textformat style="email"} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +MOSTRA: + +This is foo. This is foo. This is foo. This is foo. This is foo. This is +foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo +foo. + + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers.xml b/docs/pt_BR/designers/language-modifiers.xml index 4a5f98e6..d207b48c 100644 --- a/docs/pt_BR/designers/language-modifiers.xml +++ b/docs/pt_BR/designers/language-modifiers.xml @@ -54,1127 +54,27 @@ Topic: {$topic|truncate:40:"..."} $security_settings['MODIFIER_FUNCS']. - - capitalize - - Isto й usado para converter para maiъsculas a primeira letra de todas as palavras em uma variбvel. - - - capitalize - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|capitalize} - -SAНDA: - -Police begin campaign to rundown jaywalkers. -Police Begin Campaign To Rundown Jaywalkers. - - - - count_characters - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - boolean - Nгo - false - Isto determina quando incluir ou nгo os espaзos em - branco na contagem. - - - - - - Isto й usado para contar o nъmero de caracteres em uma variбvel. - - -count_characters - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_characters} -{$articleTitle|count_characters:true} -MOSTRA: - -Cold Wave Linked to Temperatures. -29 -32 - - - - cat - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - cat - Descriзгo - - - - - 1 - string - Nгo - empty - Este й o valor para concatenar com a variбvel dada. - - - - - - Este valor й concatenado com a variбvel dada. - - -cat - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Psychics predict world didn't end"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|cat:" yesterday."} - -MOSTRA: - -Psychics predict world didn't end yesterday. - - - - count_paragraphs - - Isto й usado para contar o nъmero de paragrafos em uma variбvel. - - -count_paragraphs - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins -Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_paragraphs} - -MOSTRA: - -War Dims Hope for Peace. Child's Death Ruins Couple's Holiday. - -Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation. -2 - - - - count_sentences - - Isto й usado para contar o nъmero de sentenзas em uma variбvel. - - -count_sentences - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_sentences} - -MOSTRA: - -Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe. -2 - - - - count_words - - Isto й usado para contar o nъmero de palavras em uma variбvel. - - -count_words - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_words} - -MOSTRA: - -Dealers Will Hear Car Talk at Noon. -7 - - - - date_format - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Nгo - %b %e, %Y - Este й o formato para a data mostrada. - - - 2 - string - Nгo - n/a - Esta й a data padrгo se a entrada estiver vazia. - - - - - - Isto formata a data e hora no formato strftime() indicado. - Datas podem ser passadas para o Smarty como timestamps unix, timestamps mysql, - ou qualquer string composta de mкs dia ano(interpretavel por strtotime). - Designers podem entгo usar date_format para ter um controle completo da formataзгo - da data. Se a data passada para date_format estiver vazia e um segundo parвmetro - for passado, este serб usado como a data - para formatar. - - -date_format - -index.php: - -$smarty = new Smarty; -$smarty->assign('yesterday', strtotime('-1 day')); -$smarty->display('index.tpl'); - -index.tpl: - - -{$smarty.now|date_format} -{$smarty.now|date_format:"%A, %B %e, %Y"} -{$smarty.now|date_format:"%H:%M:%S"} -{$yesterday|date_format} -{$yesterday|date_format:"%A, %B %e, %Y"} -{$yesterday|date_format:"%H:%M:%S"} - -MOSTRA: - -Feb 6, 2001 -Tuesday, February 6, 2001 -14:33:00 -Feb 5, 2001 -Monday, February 5, 2001 -14:33:00 - - -date_format conversion specifiers - -%a - nome do dia da semana abreviado de acordo com o local atual - -%A - nome do dia da semana inteiro de acordo com o local atual - -%b - nome do mкs abreviado de acordo com o local atual - -%B - nome do mкs inteiro de acordo com o local atual - -%c - representaзгo preferencial de data e hora para o local atual - -%C - ano com dois dнgitos (o ano dividido por 100 e truncado para um inteiro, intervalo de 00 a 99) - -%d - dia do mкs como um nъmero decimal (intervalo de 00 a 31) - -%D - o mesmo que %m/%d/%y - -%e - dia do mкs como um nъmero decimal, um ъnico dнgito й precedido por um -espaзo (intervalo de 1 a 31) - -%g - ano baseado na semana, sem o sйculo [00,99] - -%G - ano baseado na semana, incluindo o sйculo [0000,9999] - -%h - o mesmo que %b - -%H - hora como um nъmero decimal usando um relуgio de 24 horas (intervalo de 00 a 23) - -%I - hora como um nъmero decimal usando um relуgio de 12 horas (intervalo de 01 a 12) - -%j - dia do ano como um nъmero decimal (intervalo de 001 a 366) - -%k - hora (relуgio de 24 horas) digнtos ъnicos sгo precedidos por um espaзo em branco (intervalo de 0 a 23) - -%l - hora como um nъmero decimal usando um relуgio de 12 horas, digнtos unicos sгo precedidos -por um espaзo em branco (intervalo de 1 a 12) - -%m - mкs como nъmero decimal (intervalo de 01 a 12) - -%M - minuto como um nъmero decimal - -%n - caractere de nova linha - -%p - ou `am' ou `pm' de acordo com o valor de hora dado, ou as strings correspondentes ao local atual - -%r - hora na notaзгo a.m. e p.m. - -%R - hora na notaзгo de 24 horas - -%S - segundo como nъmero decimal - -%t - caractere tab - -%T - hora atual, igual a %H:%M:%S - -%u - dia da semana como um nъmero decimal [1,7], com 1 representando segunda-feira - -%U - nъmero da semana do ano atual como um nъmero decimal, comeзando com o primeiro domingo como primeiro dia da primeira semana - -%V - nъmero da semana do ano atual como um nъmero decimal de acordo com The ISO 8601:1988, -intervalo de 01 a 53, aonde a semana 1 й a primeira semana que tenha pelo menos quatro dias no ano atual, sendo domingo o primeiro dia da semana. - -%w - dia da semana como decimal, domingo sendo 0 - -%W - nъmero da semana do ano atual como nъmero decimal, comeзando com a primeira segunda como primeiro dia da primeira semana - -%x - representaзгo preferencial da data para o local atualsem a hora - -%X - representaзгo preferencial da hora para o local atual sem a data - -%y - ano como nъmero decimal sem o sйculo (intervalo de 00 a 99) - -%Y - ano como nъmero decimal incluindo o sйculo - -%Z - zona horбria ou nome ou abreviaзгo - -%% - um caractere `%' - - -NOTA PARA PROGRAMADORES: date_format й essencialmente um wrapper para a funзгo strftime() do PHP. -Vocк deverб ter mais ou menos especificadores de conversгo disponнveis de acordo com a -funзгo strftime() do sistema operacional aonde o PHP foi compilado. De uma olhada -na pбgina de manual do seu sistema para uma lista completa dos especificadores vбlidos. - - - - - default - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Nгo - vazio - Este й o valor padrгo para mostrar se a variбvel - estiver vazia. - - - - - - Isto й usado para definir um valor padrгo para uma variбvel. Se a variбvel estiver - vazia ou nгo for definida, o valor padrгo dado й mostrado. - Default usa um argumento. - - -default - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|default:"no title"} -{$myTitle|default:"no title"} - -MOSTRA: - -Dealers Will Hear Car Talk at Noon. -no title - - - - escape - - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Valores Possнveis - Padrгo - Descriзгo - - - - - 1 - string - Nгo - html,htmlall,url,quotes,hex,hexentity,javascript - html - Este й o formato de escape para usar. - - - - - - Este й usado para escapar html, url, aspas simples em uma variбvel que jб nгo esteja - escapada, escapar hex, hexentity ou javascript. - Por padrгo, й escapado - o html da variбvel. - - -escape - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|escape} -{$articleTitle|escape:"html"} {* escapa & " ' < > *} -{$articleTitle|escape:"htmlall"} {* escapa todas as entidades html *} -{$articleTitle|escape:"url"} -{$articleTitle|escape:"quotes"} -<a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> - -MOSTRA: - -'Stiff Opposition Expected to Casketless Funeral Plan' -&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; -&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; -&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; -%27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27 -\'Stiff Opposition Expected to Casketless Funeral Plan\' -<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> - - - - indent - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - integer - Nгo - 4 - Isto define com quantos - caracteres endentar. - - - 2 - string - Nгo - (um espaзo) - Isto define qual caractere usado para endentar. - - - - - - Isto endenta uma string em cada linha, o padrгo й 4. Como - parвmetro opcional, vocк pode especificar o nъmero de caracteres para - endentar. Como segundo parвmetro opcional, vocк pode especificar o caractere - usado para endentar. (Use "\t" para tabs.) - - -indent - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'NJ judge to rule on nude beach.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} - -{$articleTitle|indent} - -{$articleTitle|indent:10} - -{$articleTitle|indent:1:"\t"} - -MOSTRA: - -NJ judge to rule on nude beach. -Sun or rain expected today, dark tonight. -Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - - - lower - - Isto й usado para converter para minъsculas uma variбvel. - - -lower - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|lower} - -MOSTRA: - -Two Convicts Evade Noose, Jury Hung. -two convicts evade noose, jury hung. - - - - nl2br - - Todas as quebras de linha serгo convertidas para <br /> na variбvel - data. Isto й equivalente a funзгo nl2br() do PHP. - - -nl2br - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|nl2br} - -MOSTRA: - -Sun or rain expected<br />today, dark tonight - - - - regex_replace - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Sim - n/a - Esta й a expressгo regular a ser substituнda. - - - 2 - string - Sim - n/a - Esta й a string que irб substituir a expressгo regular. - - - - - - Uma expressгo regular para localizar e substituir na variбvel. Use a sintaxe - para preg_replace() do manual do PHP. - - -regex_replace - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); -$smarty->display('index.tpl'); - -index.tpl: - -{* replace each carriage return, tab & new line with a space *} - -{$articleTitle} -{$articleTitle|regex_replace:"/[\r\t\n]/":" "} - -MOSTRA: - -Infertility unlikely to - be passed on, experts say. -Infertility unlikely to be passed on, experts say. - - - - replace - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Sim - n/a - Esta й a string a ser substituida. - - - 2 - string - Sim - n/a - Esta й a string que irб substituir. - - - - - - Um simples localizar e substituir. - - -replace - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Child's Stool Great for Use in Garden."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|replace:"Garden":"Vineyard"} -{$articleTitle|replace:" ":" "} - -OUTPUT: - -Child's Stool Great for Use in Garden. -Child's Stool Great for Use in Vineyard. -Child's Stool Great for Use in Garden. - - - - spacify - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Nгo - um espaзo - O que й inserido entre cada caractere - da variбvel. - - - - - - Insere um espaзo entre cada caractere de uma variбvel. - Vocк pode opcionalmente passar um caractere (ou uma string) diferente para inserir. - - -spacify - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|spacify} -{$articleTitle|spacify:"^^"} - -OUTPUT: - -Something Went Wrong in Jet Crash, Experts Say. -S o m e t h i n g W e n t W r o n g i n J e t C r a s h , E x p e r t s S a y . -S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^. - - - - string_format - - - - - - - - - - Posiзгo do parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - string - Sim - n/a - Este й o formato para ser usado. (sprintf) - - - - - - Este й um meio para formatar strings, como nъmeros decimais e outros. - Use a sintaxe para sprintf para a formataзгo. - - -string_format - -index.php: - -$smarty = new Smarty; -$smarty->assign('number', 23.5787446); -$smarty->display('index.tpl'); - -index.tpl: - -{$number} -{$number|string_format:"%.2f"} -{$number|string_format:"%d"} - -MOSTRA: - -23.5787446 -23.58 -24 - - - - strip - - Isto substitui todos os espaзos repetidos, novas linhas e tabs por - um ъnico espaзo ou a string indicada. - - - Nota - - Se vocк quer substituir blocos de texto do template, use a funзгo strip. - - - -strip - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Grandmother of\neight makes\t hole in one."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|strip} -{$articleTitle|strip:"&nbsp;"} - -MOSTRA: - -Grandmother of -eight makes hole in one. -Grandmother of eight makes hole in one. -Grandmother&nbsp;of&nbsp;eight&nbsp;makes&nbsp;hole&nbsp;in&nbsp;one. - - - - strip_tags - - Isto retira as tags de marcaзгo, basicamente tudo entre < e >. - - -strip_tags - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Blind Woman Gets <font face=\"helvetica\">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|strip_tags} - -MOSTRA: - -Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>. -Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. - - - - truncate - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - integer - Nгo - 80 - Este determina para - quantos caracteres truncar. - - - 2 - string - Nгo - ... - Este й o texto para adicionar se truncar. - - - 3 - boolean - Nгo - false - Isto determina quando truncar ou nгo ao final de uma - palavra(false), ou no caractere exato (true). - - - - - - Isto trunca a variбvel para uma quantidade de caracteres, o padrгo й 80. - Como segundo parвmetro opcional, vocк pode especificar uma string para mostrar - ao final se a variбvel foi truncada. Os caracteres da string sгo incluнdos no tamanho - original para a truncagem. por padrгo, truncate irб tentar cortar ao final de uma palavra. - Se vocк quizer cortar na quantidade exata de caracteres, passe o terceiro - parвmetro, que й opcional, - como true. - - -truncate - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|truncate} -{$articleTitle|truncate:30} -{$articleTitle|truncate:30:""} -{$articleTitle|truncate:30:"---"} -{$articleTitle|truncate:30:"":true} -{$articleTitle|truncate:30:"...":true} - -MOSTRA: - -Two Sisters Reunite after Eighteen Years at Checkout Counter. -Two Sisters Reunite after Eighteen Years at Checkout Counter. -Two Sisters Reunite after... -Two Sisters Reunite after -Two Sisters Reunite after--- -Two Sisters Reunite after Eigh -Two Sisters Reunite after E... - - - - upper - - Isto й usado para converter para maiъsculas uma variбvel. - - -upper - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|upper} - -MOSTRA: - -If Strike isn't Settled Quickly it may Last a While. -IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. - - - - wordwrap - - - - - - - - - - Posiзгo do Parвmetro - Tipo - Requerido - Padrгo - Descriзгo - - - - - 1 - integer - Nгo - 80 - Isto determina em - quantas colunas quebrar. - - - 2 - string - Nгo - \n - Esta й a string usada para quebrar. - - - 3 - boolean - Nгo - false - Isto determina quando quebrar ou nгo ao final de uma palavra - (false), ou no caractere exato (true). - - - - - - Isto quebra uma string para uma largura de coluna, o padrгo й 80. - Como segundo parвmetro opcional, vocк pode especificar a string que serб usada - para quebrar o texto para a prуxima linha - (o padrгo й um retorno de carro \n). - Por padrгo, wordwrap irб tentar quebrar ao final de uma palavra. Se - vocк quiser quebrar no tamanho exato de caracteres, passe o terceiro parвmetro, que й opcional, como true. - - -wordwrap - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} - -{$articleTitle|wordwrap:30} - -{$articleTitle|wordwrap:20} - -{$articleTitle|wordwrap:30:"<br>\n"} - -{$articleTitle|wordwrap:30:"\n":true} - -MOSTRA: - -Blind woman gets new kidney from dad she hasn't seen in years. - -Blind woman gets new kidney -from dad she hasn't seen in -years. - -Blind woman gets new -kidney from dad she -hasn't seen in -years. - -Blind woman gets new kidney<br> -from dad she hasn't seen in years. - -Blind woman gets new kidney fr -om dad she hasn't seen in year -s. - - +&designers.language-modifiers.language-modifier-capitalize; +&designers.language-modifiers.language-modifier-count-characters; +&designers.language-modifiers.language-modifier-cat; +&designers.language-modifiers.language-modifier-count-paragraphs; +&designers.language-modifiers.language-modifier-count-sentences; +&designers.language-modifiers.language-modifier-count-words; +&designers.language-modifiers.language-modifier-date-format; +&designers.language-modifiers.language-modifier-default; +&designers.language-modifiers.language-modifier-escape; +&designers.language-modifiers.language-modifier-indent; +&designers.language-modifiers.language-modifier-lower; +&designers.language-modifiers.language-modifier-nl2br; +&designers.language-modifiers.language-modifier-regex-replace; +&designers.language-modifiers.language-modifier-replace; +&designers.language-modifiers.language-modifier-spacify; +&designers.language-modifiers.language-modifier-string-format; +&designers.language-modifiers.language-modifier-strip; +&designers.language-modifiers.language-modifier-strip-tags; +&designers.language-modifiers.language-modifier-truncate; +&designers.language-modifiers.language-modifier-upper; +&designers.language-modifiers.language-modifier-wordwrap; + + capitalize + + Isto й usado para converter para maiъsculas a primeira letra de todas as palavras em uma variбvel. + + + capitalize + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|capitalize} + +SAНDA: + +Police begin campaign to rundown jaywalkers. +Police Begin Campaign To Rundown Jaywalkers. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-cat.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-cat.xml new file mode 100644 index 00000000..6d939a38 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-cat.xml @@ -0,0 +1,72 @@ + + + + cat + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + cat + Descriзгo + + + + + 1 + string + Nгo + empty + Este й o valor para concatenar com a variбvel dada. + + + + + + Este valor й concatenado com a variбvel dada. + + +cat + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Psychics predict world didn't end"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|cat:" yesterday."} + +MOSTRA: + +Psychics predict world didn't end yesterday. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-count-characters.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-count-characters.xml new file mode 100644 index 00000000..f8c166f3 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-count-characters.xml @@ -0,0 +1,76 @@ + + + + count_characters + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + boolean + Nгo + false + Isto determina quando incluir ou nгo os espaзos em + branco na contagem. + + + + + + Isto й usado para contar o nъmero de caracteres em uma variбvel. + + +count_characters + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_characters} +{$articleTitle|count_characters:true} +MOSTRA: + +Cold Wave Linked to Temperatures. +29 +32 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-count-paragraphs.xml new file mode 100644 index 00000000..ec41f0d4 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-count-paragraphs.xml @@ -0,0 +1,50 @@ + + + + count_paragraphs + + Isto й usado para contar o nъmero de paragrafos em uma variбvel. + + +count_paragraphs + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins +Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_paragraphs} + +MOSTRA: + +War Dims Hope for Peace. Child's Death Ruins Couple's Holiday. + +Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation. +2 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-count-sentences.xml new file mode 100644 index 00000000..361c996c --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-count-sentences.xml @@ -0,0 +1,47 @@ + + + + count_sentences + + Isto й usado para contar o nъmero de sentenзas em uma variбvel. + + +count_sentences + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_sentences} + +MOSTRA: + +Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe. +2 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-count-words.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-count-words.xml new file mode 100644 index 00000000..423d7df2 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-count-words.xml @@ -0,0 +1,47 @@ + + + + count_words + + Isto й usado para contar o nъmero de palavras em uma variбvel. + + +count_words + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_words} + +MOSTRA: + +Dealers Will Hear Car Talk at Noon. +7 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-date-format.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-date-format.xml new file mode 100644 index 00000000..a327ec53 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-date-format.xml @@ -0,0 +1,183 @@ + + + + date_format + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Nгo + %b %e, %Y + Este й o formato para a data mostrada. + + + 2 + string + Nгo + n/a + Esta й a data padrгo se a entrada estiver vazia. + + + + + + Isto formata a data e hora no formato strftime() indicado. + Datas podem ser passadas para o Smarty como timestamps unix, timestamps mysql, + ou qualquer string composta de mкs dia ano(interpretavel por strtotime). + Designers podem entгo usar date_format para ter um controle completo da formataзгo + da data. Se a data passada para date_format estiver vazia e um segundo parвmetro + for passado, este serб usado como a data + para formatar. + + +date_format + +index.php: + +$smarty = new Smarty; +$smarty->assign('yesterday', strtotime('-1 day')); +$smarty->display('index.tpl'); + +index.tpl: + + +{$smarty.now|date_format} +{$smarty.now|date_format:"%A, %B %e, %Y"} +{$smarty.now|date_format:"%H:%M:%S"} +{$yesterday|date_format} +{$yesterday|date_format:"%A, %B %e, %Y"} +{$yesterday|date_format:"%H:%M:%S"} + +MOSTRA: + +Feb 6, 2001 +Tuesday, February 6, 2001 +14:33:00 +Feb 5, 2001 +Monday, February 5, 2001 +14:33:00 + + +date_format conversion specifiers + +%a - nome do dia da semana abreviado de acordo com o local atual + +%A - nome do dia da semana inteiro de acordo com o local atual + +%b - nome do mкs abreviado de acordo com o local atual + +%B - nome do mкs inteiro de acordo com o local atual + +%c - representaзгo preferencial de data e hora para o local atual + +%C - ano com dois dнgitos (o ano dividido por 100 e truncado para um inteiro, intervalo de 00 a 99) + +%d - dia do mкs como um nъmero decimal (intervalo de 00 a 31) + +%D - o mesmo que %m/%d/%y + +%e - dia do mкs como um nъmero decimal, um ъnico dнgito й precedido por um +espaзo (intervalo de 1 a 31) + +%g - ano baseado na semana, sem o sйculo [00,99] + +%G - ano baseado na semana, incluindo o sйculo [0000,9999] + +%h - o mesmo que %b + +%H - hora como um nъmero decimal usando um relуgio de 24 horas (intervalo de 00 a 23) + +%I - hora como um nъmero decimal usando um relуgio de 12 horas (intervalo de 01 a 12) + +%j - dia do ano como um nъmero decimal (intervalo de 001 a 366) + +%k - hora (relуgio de 24 horas) digнtos ъnicos sгo precedidos por um espaзo em branco (intervalo de 0 a 23) + +%l - hora como um nъmero decimal usando um relуgio de 12 horas, digнtos unicos sгo precedidos +por um espaзo em branco (intervalo de 1 a 12) + +%m - mкs como nъmero decimal (intervalo de 01 a 12) + +%M - minuto como um nъmero decimal + +%n - caractere de nova linha + +%p - ou `am' ou `pm' de acordo com o valor de hora dado, ou as strings correspondentes ao local atual + +%r - hora na notaзгo a.m. e p.m. + +%R - hora na notaзгo de 24 horas + +%S - segundo como nъmero decimal + +%t - caractere tab + +%T - hora atual, igual a %H:%M:%S + +%u - dia da semana como um nъmero decimal [1,7], com 1 representando segunda-feira + +%U - nъmero da semana do ano atual como um nъmero decimal, comeзando com o primeiro domingo como primeiro dia da primeira semana + +%V - nъmero da semana do ano atual como um nъmero decimal de acordo com The ISO 8601:1988, +intervalo de 01 a 53, aonde a semana 1 й a primeira semana que tenha pelo menos quatro dias no ano atual, sendo domingo o primeiro dia da semana. + +%w - dia da semana como decimal, domingo sendo 0 + +%W - nъmero da semana do ano atual como nъmero decimal, comeзando com a primeira segunda como primeiro dia da primeira semana + +%x - representaзгo preferencial da data para o local atualsem a hora + +%X - representaзгo preferencial da hora para o local atual sem a data + +%y - ano como nъmero decimal sem o sйculo (intervalo de 00 a 99) + +%Y - ano como nъmero decimal incluindo o sйculo + +%Z - zona horбria ou nome ou abreviaзгo + +%% - um caractere `%' + + +NOTA PARA PROGRAMADORES: date_format й essencialmente um wrapper para a funзгo strftime() do PHP. +Vocк deverб ter mais ou menos especificadores de conversгo disponнveis de acordo com a +funзгo strftime() do sistema operacional aonde o PHP foi compilado. De uma olhada +na pбgina de manual do seu sistema para uma lista completa dos especificadores vбlidos. + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-default.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-default.xml new file mode 100644 index 00000000..bf6af300 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-default.xml @@ -0,0 +1,77 @@ + + + + default + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Nгo + vazio + Este й o valor padrгo para mostrar se a variбvel + estiver vazia. + + + + + + Isto й usado para definir um valor padrгo para uma variбvel. Se a variбvel estiver + vazia ou nгo for definida, o valor padrгo dado й mostrado. + Default usa um argumento. + + +default + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|default:"no title"} +{$myTitle|default:"no title"} + +MOSTRA: + +Dealers Will Hear Car Talk at Noon. +no title + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-escape.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-escape.xml new file mode 100644 index 00000000..15c1057f --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-escape.xml @@ -0,0 +1,90 @@ + + + + escape + + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Valores Possнveis + Padrгo + Descriзгo + + + + + 1 + string + Nгo + html,htmlall,url,quotes,hex,hexentity,javascript + html + Este й o formato de escape para usar. + + + + + + Este й usado para escapar html, url, aspas simples em uma variбvel que jб nгo esteja + escapada, escapar hex, hexentity ou javascript. + Por padrгo, й escapado + o html da variбvel. + + +escape + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|escape} +{$articleTitle|escape:"html"} {* escapa & " ' < > *} +{$articleTitle|escape:"htmlall"} {* escapa todas as entidades html *} +{$articleTitle|escape:"url"} +{$articleTitle|escape:"quotes"} +<a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> + +MOSTRA: + +'Stiff Opposition Expected to Casketless Funeral Plan' +&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; +&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; +&#039;Stiff Opposition Expected to Casketless Funeral Plan&#039; +%27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27 +\'Stiff Opposition Expected to Casketless Funeral Plan\' +<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-indent.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-indent.xml new file mode 100644 index 00000000..446dc15d --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-indent.xml @@ -0,0 +1,103 @@ + + + + indent + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + integer + Nгo + 4 + Isto define com quantos + caracteres endentar. + + + 2 + string + Nгo + (um espaзo) + Isto define qual caractere usado para endentar. + + + + + + Isto endenta uma string em cada linha, o padrгo й 4. Como + parвmetro opcional, vocк pode especificar o nъmero de caracteres para + endentar. Como segundo parвmetro opcional, vocк pode especificar o caractere + usado para endentar. (Use "\t" para tabs.) + + +indent + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'NJ judge to rule on nude beach.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} + +{$articleTitle|indent} + +{$articleTitle|indent:10} + +{$articleTitle|indent:1:"\t"} + +MOSTRA: + +NJ judge to rule on nude beach. +Sun or rain expected today, dark tonight. +Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-lower.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-lower.xml new file mode 100644 index 00000000..3c27f4a8 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-lower.xml @@ -0,0 +1,47 @@ + + + + lower + + Isto й usado para converter para minъsculas uma variбvel. + + +lower + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|lower} + +MOSTRA: + +Two Convicts Evade Noose, Jury Hung. +two convicts evade noose, jury hung. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-nl2br.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-nl2br.xml new file mode 100644 index 00000000..4b740a91 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-nl2br.xml @@ -0,0 +1,46 @@ + + + + nl2br + + Todas as quebras de linha serгo convertidas para <br /> na variбvel + data. Isto й equivalente a funзгo nl2br() do PHP. + + +nl2br + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|nl2br} + +MOSTRA: + +Sun or rain expected<br />today, dark tonight + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-regex-replace.xml new file mode 100644 index 00000000..feb8364a --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-regex-replace.xml @@ -0,0 +1,85 @@ + + + + regex_replace + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Sim + n/a + Esta й a expressгo regular a ser substituнda. + + + 2 + string + Sim + n/a + Esta й a string que irб substituir a expressгo regular. + + + + + + Uma expressгo regular para localizar e substituir na variбvel. Use a sintaxe + para preg_replace() do manual do PHP. + + +regex_replace + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); +$smarty->display('index.tpl'); + +index.tpl: + +{* replace each carriage return, tab & new line with a space *} + +{$articleTitle} +{$articleTitle|regex_replace:"/[\r\t\n]/":" "} + +MOSTRA: + +Infertility unlikely to + be passed on, experts say. +Infertility unlikely to be passed on, experts say. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-replace.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-replace.xml new file mode 100644 index 00000000..c0eead97 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-replace.xml @@ -0,0 +1,83 @@ + + + + replace + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Sim + n/a + Esta й a string a ser substituida. + + + 2 + string + Sim + n/a + Esta й a string que irб substituir. + + + + + + Um simples localizar e substituir. + + +replace + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Child's Stool Great for Use in Garden."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|replace:"Garden":"Vineyard"} +{$articleTitle|replace:" ":" "} + +OUTPUT: + +Child's Stool Great for Use in Garden. +Child's Stool Great for Use in Vineyard. +Child's Stool Great for Use in Garden. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-spacify.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-spacify.xml new file mode 100644 index 00000000..ebd09ebf --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-spacify.xml @@ -0,0 +1,78 @@ + + + + spacify + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Nгo + um espaзo + O que й inserido entre cada caractere + da variбvel. + + + + + + Insere um espaзo entre cada caractere de uma variбvel. + Vocк pode opcionalmente passar um caractere (ou uma string) diferente para inserir. + + +spacify + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|spacify} +{$articleTitle|spacify:"^^"} + +OUTPUT: + +Something Went Wrong in Jet Crash, Experts Say. +S o m e t h i n g W e n t W r o n g i n J e t C r a s h , E x p e r t s S a y . +S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-string-format.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-string-format.xml new file mode 100644 index 00000000..b245e2a2 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-string-format.xml @@ -0,0 +1,77 @@ + + + + string_format + + + + + + + + + + Posiзгo do parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + string + Sim + n/a + Este й o formato para ser usado. (sprintf) + + + + + + Este й um meio para formatar strings, como nъmeros decimais e outros. + Use a sintaxe para sprintf para a formataзгo. + + +string_format + +index.php: + +$smarty = new Smarty; +$smarty->assign('number', 23.5787446); +$smarty->display('index.tpl'); + +index.tpl: + +{$number} +{$number|string_format:"%.2f"} +{$number|string_format:"%d"} + +MOSTRA: + +23.5787446 +23.58 +24 + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-strip-tags.xml new file mode 100644 index 00000000..c340a8db --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-strip-tags.xml @@ -0,0 +1,47 @@ + + + + strip_tags + + Isto retira as tags de marcaзгo, basicamente tudo entre < e >. + + +strip_tags + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Blind Woman Gets <font face=\"helvetica\">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|strip_tags} + +MOSTRA: + +Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>. +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-strip.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-strip.xml new file mode 100644 index 00000000..59c8cdf0 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-strip.xml @@ -0,0 +1,58 @@ + + + + strip + + Isto substitui todos os espaзos repetidos, novas linhas e tabs por + um ъnico espaзo ou a string indicada. + + + Nota + + Se vocк quer substituir blocos de texto do template, use a funзгo strip. + + + +strip + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Grandmother of\neight makes\t hole in one."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|strip} +{$articleTitle|strip:"&nbsp;"} + +MOSTRA: + +Grandmother of +eight makes hole in one. +Grandmother of eight makes hole in one. +Grandmother&nbsp;of&nbsp;eight&nbsp;makes&nbsp;hole&nbsp;in&nbsp;one. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-truncate.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-truncate.xml new file mode 100644 index 00000000..76964923 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-truncate.xml @@ -0,0 +1,106 @@ + + + + truncate + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + integer + Nгo + 80 + Este determina para + quantos caracteres truncar. + + + 2 + string + Nгo + ... + Este й o texto para adicionar se truncar. + + + 3 + boolean + Nгo + false + Isto determina quando truncar ou nгo ao final de uma + palavra(false), ou no caractere exato (true). + + + + + + Isto trunca a variбvel para uma quantidade de caracteres, o padrгo й 80. + Como segundo parвmetro opcional, vocк pode especificar uma string para mostrar + ao final se a variбvel foi truncada. Os caracteres da string sгo incluнdos no tamanho + original para a truncagem. por padrгo, truncate irб tentar cortar ao final de uma palavra. + Se vocк quizer cortar na quantidade exata de caracteres, passe o terceiro + parвmetro, que й opcional, + como true. + + +truncate + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|truncate} +{$articleTitle|truncate:30} +{$articleTitle|truncate:30:""} +{$articleTitle|truncate:30:"---"} +{$articleTitle|truncate:30:"":true} +{$articleTitle|truncate:30:"...":true} + +MOSTRA: + +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after... +Two Sisters Reunite after +Two Sisters Reunite after--- +Two Sisters Reunite after Eigh +Two Sisters Reunite after E... + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-upper.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-upper.xml new file mode 100644 index 00000000..f5deda85 --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-upper.xml @@ -0,0 +1,47 @@ + + + + upper + + Isto й usado para converter para maiъsculas uma variбvel. + + +upper + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|upper} + +MOSTRA: + +If Strike isn't Settled Quickly it may Last a While. +IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/pt_BR/designers/language-modifiers/language-modifier-wordwrap.xml new file mode 100644 index 00000000..246bffdd --- /dev/null +++ b/docs/pt_BR/designers/language-modifiers/language-modifier-wordwrap.xml @@ -0,0 +1,117 @@ + + + + wordwrap + + + + + + + + + + Posiзгo do Parвmetro + Tipo + Requerido + Padrгo + Descriзгo + + + + + 1 + integer + Nгo + 80 + Isto determina em + quantas colunas quebrar. + + + 2 + string + Nгo + \n + Esta й a string usada para quebrar. + + + 3 + boolean + Nгo + false + Isto determina quando quebrar ou nгo ao final de uma palavra + (false), ou no caractere exato (true). + + + + + + Isto quebra uma string para uma largura de coluna, o padrгo й 80. + Como segundo parвmetro opcional, vocк pode especificar a string que serб usada + para quebrar o texto para a prуxima linha + (o padrгo й um retorno de carro \n). + Por padrгo, wordwrap irб tentar quebrar ao final de uma palavra. Se + vocк quiser quebrar no tamanho exato de caracteres, passe o terceiro parвmetro, que й opcional, como true. + + +wordwrap + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} + +{$articleTitle|wordwrap:30} + +{$articleTitle|wordwrap:20} + +{$articleTitle|wordwrap:30:"<br>\n"} + +{$articleTitle|wordwrap:30:"\n":true} + +MOSTRA: + +Blind woman gets new kidney from dad she hasn't seen in years. + +Blind woman gets new kidney +from dad she hasn't seen in +years. + +Blind woman gets new +kidney from dad she +hasn't seen in +years. + +Blind woman gets new kidney<br> +from dad she hasn't seen in years. + +Blind woman gets new kidney fr +om dad she hasn't seen in year +s. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-variables.xml b/docs/pt_BR/designers/language-variables.xml index 1c45d125..882b432c 100644 --- a/docs/pt_BR/designers/language-variables.xml +++ b/docs/pt_BR/designers/language-variables.xml @@ -20,305 +20,11 @@ <body bgcolor="{#bgcolor#}"> - - Variбveis definidas do PHP - - Variбveis que sгo definidas do PHP sгo referenciadas precedendo elas - com um sinal de sifrгo $. Variбveis definidas dentro do template - com a funзгo assign - tambйm sгo mostradas desta maneira. - - +&designers.language-variables.language-assigned-variables; - Variбveis definidas - -Hello {$firstname}, glad to see you could make it. -<p> -Your last login was on {$lastLoginDate}. +&designers.language-variables.language-config-variables; -MOSTRA: - -Hello Doug, glad to see you could make it. -<p> -Your last login was on January 11th, 2001. - - - - Associative arrays - - Vocк tambйm pode referenciar matrizes associativas que sгo definidas no PHP - especificando a chave depois do sнmbolo '.' - (ponto). - - -Acessando variбveis de matriz associativa - -index.php: - -$smarty = new Smarty; -$smarty->assign('Contacts', - array('fax' => '555-222-9876', - 'email' => 'zaphod@slartibartfast.com', - 'phone' => array('home' => '555-444-3333', - 'cell' => '555-111-1234'))); -$smarty->display('index.tpl'); - -index.tpl: - -{$Contacts.fax}<br> -{$Contacts.email}<br> -{* you can print arrays of arrays as well *} -{$Contacts.phone.home}<br> -{$Contacts.phone.cell}<br> - -MOSTRA: - -555-222-9876<br> -zaphod@slartibartfast.com<br> -555-444-3333<br> -555-111-1234<br> - - - - Нndices de Matrizes - - Vocк pode referencia matrizes pelo seu нndice, muito - parecido com a sintaxe nativa do PHP. - - -Acesando matrizes por seus нndices - -index.php: - -$smarty = new Smarty; -$smarty->assign('Contacts', - array('555-222-9876', - 'zaphod@slartibartfast.com', - array('555-444-3333', - '555-111-1234'))); -$smarty->display('index.tpl'); - -index.tpl: - -{$Contacts[0]}<br> -{$Contacts[1]}<br> -{* you can print arrays of arrays as well *} -{$Contacts[2][0]}<br> -{$Contacts[2][1]}<br> - -MOSTRA: - -555-222-9876<br> -zaphod@slartibartfast.com<br> -555-444-3333<br> -555-111-1234<br> - - - - Objetos - - Propriedades de objetos definidos do PHP podem ser referenciados - especificando-se o nome da propriedade depois do sнmbolo '->'. - - -Acessando propriedades de objetos - -name: {$person->name}<br> -email: {$person->email}<br> - -MOSTRA: - -name: Zaphod Beeblebrox<br> -email: zaphod@slartibartfast.com<br> - - - - - - Variбveis carregadas de arquivos de configuraзгo - - Variбveis que sгo carregadas de arquivos de configuraзгo sгo referenciadas - colocando-se elas entre cancelas (#), ou com a variбvel smarty - $smarty.config. - A segunda sintaxe й ъtil para coloca-las - entre aspas em um atributo. - - - -Variбveis de configuraзгo - -foo.conf: - -pageTitle = "This is mine" -bodyBgColor = "#eeeeee" -tableBorderSize = "3" -tableBgColor = "#bbbbbb" -rowBgColor = "#cccccc" - -index.tpl: - -{config_load file="foo.conf"} -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> -<tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - -index.tpl: (sintaxe alternativa) - -{config_load file="foo.conf"} -<html> -<title>{$smarty.config.pageTitle}</title> -<body bgcolor="{$smarty.config.bodyBgColor}"> -<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}"> -<tr bgcolor="{$smarty.config.rowBgColor}"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - - -SAНDA: (mesma para ambos exemplos) - -<html> -<title>This is mine</title> -<body bgcolor="#eeeeee"> -<table border="3" bgcolor="#bbbbbb"> -<tr bgcolor="#cccccc"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - - - Variбveis de um arquivo de configuraзгo nгo podem ser usadas atй - que sejam carregadas de um arquivo de configuraзгo. Este procedimento - й explicado posteriormente neste documento em - config_load. - - - - - A variбvel reservada {$smarty} - - A variбvel reservada {$smarty} pode ser utilizada para acessar variбveis - especiais do template. Segue uma lista completa. - - - - Variбveis Request - - Variбveis request como get, post, cookies, server, - environment, e session podem ser acessadas como mostrado - nos exemplos abaixo: - - - - Mostrando vбriбveis request - -{* mostra o valor de page da URL (GET) http://www.domain.com/index.php?page=foo *} -{$smarty.get.page} - -{* mostra a variбvel "page" de um formulбrio (POST) *} -{$smarty.post.page} - -{* mostra o valor do cookie "username" *} -{$smarty.cookies.username} - -{* mostra a variбvel do servidor "SERVER_NAME" *} -{$smarty.server.SERVER_NAME} - -{* mostra a variбvel de ambiente do sistema "PATH" *} -{$smarty.env.PATH} - -{* mostra a variбvel de session do php "id" *} -{$smarty.session.id} - -{* mostra a variбvel "username" da uniгo de get/post/cookies/server/env *} -{$smarty.request.username} - - - - - {$smarty.now} - - O timestamp atual pode ser acessado com {$smarty.now}. - O nъmero reflete o nъmero de segundos passados desde o assim chamado - Epoch (1 de Janeiro de 1970) e pode ser passado diretamente para o - modificador date_format para mostrar a data. - - - -Usando {$smarty.now} - -{* usa o modificador date_format para mostrar a data e hora atuais *} -{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} - - - - {$smarty.const} - - Vocк pode acessar o valor de constantes PHP diretamente. - - - -Usando {$smarty.const} - -{$smarty.const._MY_CONST_VAL} - - - - - {$smarty.capture} - - A saнda capturada via {capture}..{/capture} pode ser acessada usando a variбvel - {$smarty}. Veja a a seзгo sobre - capture para um exemplo. - - - - - {$smarty.config} - - A variбvel {$smarty} pode ser usada para referir variбveis de configuraзгo carregadas. - {$smarty.config.foo} й um sinonimo para {#foo#}. Veja a seзгo sobre - config_load para um exemplo. - - - - - {$smarty.section}, {$smarty.foreach} - - A variбvel {$smarty} pode ser usada para se referir a propriedades 'section' e - 'foreach' de loop. Veja a documentaзгo sobre - section e - foreach. - - - - - {$smarty.template} - - Esta variбvel contйm o nome do template - atual que esta sendo processado. - - - - +&designers.language-variables.language-variables-smarty; + + Variбveis definidas do PHP + + Variбveis que sгo definidas do PHP sгo referenciadas precedendo elas + com um sinal de sifrгo $. Variбveis definidas dentro do template + com a funзгo assign + tambйm sгo mostradas desta maneira. + + + + Variбveis definidas + +Hello {$firstname}, glad to see you could make it. +<p> +Your last login was on {$lastLoginDate}. + +MOSTRA: + +Hello Doug, glad to see you could make it. +<p> +Your last login was on January 11th, 2001. + + + + Associative arrays + + Vocк tambйm pode referenciar matrizes associativas que sгo definidas no PHP + especificando a chave depois do sнmbolo '.' + (ponto). + + +Acessando variбveis de matriz associativa + +index.php: + +$smarty = new Smarty; +$smarty->assign('Contacts', + array('fax' => '555-222-9876', + 'email' => 'zaphod@slartibartfast.com', + 'phone' => array('home' => '555-444-3333', + 'cell' => '555-111-1234'))); +$smarty->display('index.tpl'); + +index.tpl: + +{$Contacts.fax}<br> +{$Contacts.email}<br> +{* you can print arrays of arrays as well *} +{$Contacts.phone.home}<br> +{$Contacts.phone.cell}<br> + +MOSTRA: + +555-222-9876<br> +zaphod@slartibartfast.com<br> +555-444-3333<br> +555-111-1234<br> + + + + Нndices de Matrizes + + Vocк pode referencia matrizes pelo seu нndice, muito + parecido com a sintaxe nativa do PHP. + + +Acesando matrizes por seus нndices + +index.php: + +$smarty = new Smarty; +$smarty->assign('Contacts', + array('555-222-9876', + 'zaphod@slartibartfast.com', + array('555-444-3333', + '555-111-1234'))); +$smarty->display('index.tpl'); + +index.tpl: + +{$Contacts[0]}<br> +{$Contacts[1]}<br> +{* you can print arrays of arrays as well *} +{$Contacts[2][0]}<br> +{$Contacts[2][1]}<br> + +MOSTRA: + +555-222-9876<br> +zaphod@slartibartfast.com<br> +555-444-3333<br> +555-111-1234<br> + + + + Objetos + + Propriedades de objetos definidos do PHP podem ser referenciados + especificando-se o nome da propriedade depois do sнmbolo '->'. + + +Acessando propriedades de objetos + +name: {$person->name}<br> +email: {$person->email}<br> + +MOSTRA: + +name: Zaphod Beeblebrox<br> +email: zaphod@slartibartfast.com<br> + + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-variables/language-config-variables.xml b/docs/pt_BR/designers/language-variables/language-config-variables.xml new file mode 100644 index 00000000..7b969dbd --- /dev/null +++ b/docs/pt_BR/designers/language-variables/language-config-variables.xml @@ -0,0 +1,99 @@ + + + + Variбveis carregadas de arquivos de configuraзгo + + Variбveis que sгo carregadas de arquivos de configuraзгo sгo referenciadas + colocando-se elas entre cancelas (#), ou com a variбvel smarty + $smarty.config. + A segunda sintaxe й ъtil para coloca-las + entre aspas em um atributo. + + + +Variбveis de configuraзгo + +foo.conf: + +pageTitle = "This is mine" +bodyBgColor = "#eeeeee" +tableBorderSize = "3" +tableBgColor = "#bbbbbb" +rowBgColor = "#cccccc" + +index.tpl: + +{config_load file="foo.conf"} +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> +<tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + +index.tpl: (sintaxe alternativa) + +{config_load file="foo.conf"} +<html> +<title>{$smarty.config.pageTitle}</title> +<body bgcolor="{$smarty.config.bodyBgColor}"> +<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}"> +<tr bgcolor="{$smarty.config.rowBgColor}"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + + +SAНDA: (mesma para ambos exemplos) + +<html> +<title>This is mine</title> +<body bgcolor="#eeeeee"> +<table border="3" bgcolor="#bbbbbb"> +<tr bgcolor="#cccccc"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + + + Variбveis de um arquivo de configuraзгo nгo podem ser usadas atй + que sejam carregadas de um arquivo de configuraзгo. Este procedimento + й explicado posteriormente neste documento em + config_load. + + + \ No newline at end of file diff --git a/docs/pt_BR/designers/language-variables/language-variables-smarty.xml b/docs/pt_BR/designers/language-variables/language-variables-smarty.xml new file mode 100644 index 00000000..1cf568dc --- /dev/null +++ b/docs/pt_BR/designers/language-variables/language-variables-smarty.xml @@ -0,0 +1,129 @@ + + + + A variбvel reservada {$smarty} + + A variбvel reservada {$smarty} pode ser utilizada para acessar variбveis + especiais do template. Segue uma lista completa. + + + + Variбveis Request + + Variбveis request como get, post, cookies, server, + environment, e session podem ser acessadas como mostrado + nos exemplos abaixo: + + + + Mostrando vбriбveis request + +{* mostra o valor de page da URL (GET) http://www.domain.com/index.php?page=foo *} +{$smarty.get.page} + +{* mostra a variбvel "page" de um formulбrio (POST) *} +{$smarty.post.page} + +{* mostra o valor do cookie "username" *} +{$smarty.cookies.username} + +{* mostra a variбvel do servidor "SERVER_NAME" *} +{$smarty.server.SERVER_NAME} + +{* mostra a variбvel de ambiente do sistema "PATH" *} +{$smarty.env.PATH} + +{* mostra a variбvel de session do php "id" *} +{$smarty.session.id} + +{* mostra a variбvel "username" da uniгo de get/post/cookies/server/env *} +{$smarty.request.username} + + + + + {$smarty.now} + + O timestamp atual pode ser acessado com {$smarty.now}. + O nъmero reflete o nъmero de segundos passados desde o assim chamado + Epoch (1 de Janeiro de 1970) e pode ser passado diretamente para o + modificador date_format para mostrar a data. + + + +Usando {$smarty.now} + +{* usa o modificador date_format para mostrar a data e hora atuais *} +{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} + + + + {$smarty.const} + + Vocк pode acessar o valor de constantes PHP diretamente. + + + +Usando {$smarty.const} + +{$smarty.const._MY_CONST_VAL} + + + + + {$smarty.capture} + + A saнda capturada via {capture}..{/capture} pode ser acessada usando a variбvel + {$smarty}. Veja a a seзгo sobre + capture para um exemplo. + + + + + {$smarty.config} + + A variбvel {$smarty} pode ser usada para referir variбveis de configuraзгo carregadas. + {$smarty.config.foo} й um sinonimo para {#foo#}. Veja a seзгo sobre + config_load para um exemplo. + + + + + {$smarty.section}, {$smarty.foreach} + + A variбvel {$smarty} pode ser usada para se referir a propriedades 'section' e + 'foreach' de loop. Veja a documentaзгo sobre + section e + foreach. + + + + + {$smarty.template} + + Esta variбvel contйm o nome do template + atual que esta sendo processado. + + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-basic-syntax.xml b/docs/ru/designers/language-basic-syntax.xml index fff5f9e6..62702c2f 100644 --- a/docs/ru/designers/language-basic-syntax.xml +++ b/docs/ru/designers/language-basic-syntax.xml @@ -14,127 +14,12 @@ интерпретировать их и вывести вместо них соответствующий результат. - - Комментарии - - Комментарии в шаблонах заключаются в звездочки(*) окруженные . - разделителями, например: {* это комментарий *}. Комментарии не - отображаются в выводе шаблона. Они используются для внутренних - примечаний в шаблонах. - - - Комментарии - -{* шаблон Smarty *} +&designers.language-basic-syntax.language-syntax-comments; -{* подключаем шапку шаблона *} -{include file="header.tpl"} +&designers.language-basic-syntax.language-syntax-functions; -{include file=$includeFile} - -{include file=#includeFile#} - -{* выпадающий список *} -<SELECT name=company> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - - Функции - - Каждый тэг Smarty либо выводит значение переменной, либо вызывает - некоторую функцию. Для вызова функции надо название функции и ее - параметры заключить в разделители, например: {funcname attr1="val" - attr2="val"}. - - - Синтаксис функций - -{config_load file="colors.conf"} - -{include file="header.tpl"} - -{if $highlight_name} - Welcome, <font color="{#fontColor#}">{$name}!</font> -{else} - Welcome, {$name}! -{/if} - -{include file="footer.tpl"} - - - И встроенные, и пользовательские функции используются с одинаковым - синтаксисом. Встроенные функции реализованы внутри Smarty и не - могут быть изменены или переопределены. Это такие функции, как - if, section, - strip. Пользовательские функции реализуются через - плагины. Они могут быть изменены по вашему желанию, также вы можете - написать новые. Примеры пользовательских функций: - html_options, html_select_date. - - - - - Параметры - - Большинство функций принимает параметры, которые уточняют или - изменяют ее поведение. Параметры в Smarty очень похожи на - параметры в HTML. Не обязательно заключать статические значения - в кавычки, хотя текст рекомендуется заключать в кавычки. Переменные - также могут быть использованы в качестве параметров, и не должны - заключаться в кавычки. - - - Некоторые параметры принимают логические значения (правда или ложь). - Они могут быть указаны словами true, - on, и yes, или - false, off, и - no без кавычек. - - - Синтаксис параметров функции - -{include file="header.tpl"} - -{include file=$includeFile} - -{include file=#includeFile#} - -{html_select_date display_days=yes} - -<SELECT name=company> -{html_options values=$vals selected=$selected output=$output} -</SELECT> - - - - Внедренные переменные в двойных кавычках - - Smarty распознает переменные, если они встречаются в строках, - заключенных в двойные кавычки. Распознаются переменные, - состоящие из чисел, букв, символов _,[,]. Если надо использовать - другие символы для указания переменной (точка или -> (ссылка в - объект)), то переменная необходимо заключить в обратные кавычки ``. - - - Синтаксис внедренных переменных - -Пример синтаксиса: -{func var="test $foo test"} <-- ищет $foo -{func var="test $foo_bar test"} <-- ищет $foo_bar -{func var="test $foo[0] test"} <-- ищет $foo[0] -{func var="test $foo[bar] test"} <-- ищет $foo[bar] -{func var="test $foo.bar test"} <-- ищет $foo (не $foo.bar) -{func var="test `$foo.bar` test"} <-- ищет $foo.bar - -Практические примеры: -{include file="subdir/$tpl_name.tpl"} <-- заменит $tpl_name на ее значение -{cycle values="one,two,`$smarty.config.myval`"} <-- надо заключать в обратные кавычки - - +&designers.language-basic-syntax.language-syntax-attributes; +&designers.language-basic-syntax.language-syntax-quotes; + + Параметры + + Большинство функций принимает параметры, которые уточняют или + изменяют ее поведение. Параметры в Smarty очень похожи на + параметры в HTML. Не обязательно заключать статические значения + в кавычки, хотя текст рекомендуется заключать в кавычки. Переменные + также могут быть использованы в качестве параметров, и не должны + заключаться в кавычки. + + + Некоторые параметры принимают логические значения (правда или ложь). + Они могут быть указаны словами true, + on, и yes, или + false, off, и + no без кавычек. + + + Синтаксис параметров функции + +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{html_select_date display_days=yes} + +<SELECT name=company> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml b/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml new file mode 100644 index 00000000..ba72ef71 --- /dev/null +++ b/docs/ru/designers/language-basic-syntax/language-syntax-comments.xml @@ -0,0 +1,48 @@ + + + + Комментарии + + Комментарии в шаблонах заключаются в звездочки(*) окруженные . + разделителями, например: {* это комментарий *}. Комментарии не + отображаются в выводе шаблона. Они используются для внутренних + примечаний в шаблонах. + + + Комментарии + +{* шаблон Smarty *} + +{* подключаем шапку шаблона *} +{include file="header.tpl"} + +{include file=$includeFile} + +{include file=#includeFile#} + +{* выпадающий список *} +<SELECT name=company> +{html_options values=$vals selected=$selected output=$output} +</SELECT> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml b/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml new file mode 100644 index 00000000..0067bad5 --- /dev/null +++ b/docs/ru/designers/language-basic-syntax/language-syntax-functions.xml @@ -0,0 +1,57 @@ + + + + Функции + + Каждый тэг Smarty либо выводит значение переменной, либо вызывает + некоторую функцию. Для вызова функции надо название функции и ее + параметры заключить в разделители, например: {funcname attr1="val" + attr2="val"}. + + + Синтаксис функций + +{config_load file="colors.conf"} + +{include file="header.tpl"} + +{if $highlight_name} + Welcome, <font color="{#fontColor#}">{$name}!</font> +{else} + Welcome, {$name}! +{/if} + +{include file="footer.tpl"} + + + И встроенные, и пользовательские функции используются с одинаковым + синтаксисом. Встроенные функции реализованы внутри Smarty и не + могут быть изменены или переопределены. Это такие функции, как + if, section, + strip. Пользовательские функции реализуются через + плагины. Они могут быть изменены по вашему желанию, также вы можете + написать новые. Примеры пользовательских функций: + html_options, html_select_date. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml new file mode 100644 index 00000000..f164e864 --- /dev/null +++ b/docs/ru/designers/language-basic-syntax/language-syntax-quotes.xml @@ -0,0 +1,47 @@ + + + + Внедренные переменные в двойных кавычках + + Smarty распознает переменные, если они встречаются в строках, + заключенных в двойные кавычки. Распознаются переменные, + состоящие из чисел, букв, символов _,[,]. Если надо использовать + другие символы для указания переменной (точка или -> (ссылка в + объект)), то переменная необходимо заключить в обратные кавычки ``. + + + Синтаксис внедренных переменных + +Пример синтаксиса: +{func var="test $foo test"} <-- ищет $foo +{func var="test $foo_bar test"} <-- ищет $foo_bar +{func var="test $foo[0] test"} <-- ищет $foo[0] +{func var="test $foo[bar] test"} <-- ищет $foo[bar] +{func var="test $foo.bar test"} <-- ищет $foo (не $foo.bar) +{func var="test `$foo.bar` test"} <-- ищет $foo.bar + +Практические примеры: +{include file="subdir/$tpl_name.tpl"} <-- заменит $tpl_name на ее значение +{cycle values="one,two,`$smarty.config.myval`"} <-- надо заключать в обратные кавычки + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions.xml b/docs/ru/designers/language-builtin-functions.xml index 2b720c4e..46e3454f 100644 --- a/docs/ru/designers/language-builtin-functions.xml +++ b/docs/ru/designers/language-builtin-functions.xml @@ -8,1408 +8,18 @@ функции с такими же названиями или как-либо модифицировать встроенные функции.. - - capture - - capture используется, чтобы присвоить вывод шаблона какой-либо - переменной вместо его вывода. Любое содержание между {capture - name="foo"} и {/capture} сохраняется в переменную, указанную в - атрибуте name. Затем его можно использовать в шаблоне с помощью - специальной переменной $smarty.capture.foo, где foo - значение, - переданное атрибуту name. Если аттрибут name не указан, то - используется default. Каждая комманда {capture} должна иметь пару - {/capture}. capture поддерживает вложение. - - - Техническое замечание - - Smarty 1.4.0 - 1.4.4 помещало захваченный вывод в переменную $return. - С версии 1.4.5 поведение было изменено на использование атрибута name, - так что обновите ваши шаблоны соответственно. - - - - - Будте осторожны, сохраняя вывод комманды insert. - Есил вы используете кэширование и встречаются комманды - insert в области кэированния, то - не сохраняйте данный вывод. - - - - - Сохранение вывода шаблона - -{* we don't want to print a table row unless content is displayed *} -{capture name=banner} -{include file="get_banner.tpl"} -{/capture} -{if $smarty.capture.banner ne ""} - <tr> - <td> - {$smarty.capture.banner} - </td> - </tr> -{/if} - - - - - config_load - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя config файла для загрузки - - - section - строка (string) - Нет - n/a - Имя секции для загрузки - - - scope - строка (string) - Нет - local - - Способ обработки области видимости загруженных - переменных. Должен быть одинм из local, parent - или global. local означает, что переменные загружены - в контекст локального шаблона. parent означает, что - переменные загружены в контекст как локального, так - и родительского шаблона. global означает, что - переменные доступны из любого шаблона. - - - - global - логический (boolean) - Нет - No - - Доступны ли переменные из родительского шаблона. - Аналогичен scope=parent. ЗАМЕЧАНИЕ: Этот аттрибут - перекрывается аттрибутом scope, но все еще - поддерживается. Если scope указан, то это значение - игнорируется. - - - - - - - Эта функция используется для загрузки переменных в - шаблон из файлов конфигруации. Смотри - Файлы конфигурации - для дополнительной информации. - - -функция config_load - - -{config_load file="colors.conf"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - Файлы конфигурации также могут содержать секции. Можно загрузить - переменные из определенной секции, указав аттрибут - section. - - - ЗАМЕЧАНИЕ: Секции файлов конфигурации и встроенная - функция section не имеют ничего общего, кроме - схожего названия. - - -функция config_load с указанием секции - -{config_load file="colors.conf" section="Customer"} - -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> - <tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> - </tr> -</table> -</body> -</html> - - - - foreach,foreachelse - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - from - строка (string) - Да - n/a - Имя массива, по которому надо пройтись - - - item - строка (string) - Да - n/a - Имя переменной, которая будет выступать в - качестве значения текущего елемента - - - key - строка (string) - Нет - n/a - Имя переменной, которая будет выступать в - качестве ключа текущего елемента - - - name - строка (string) - Нет - n/a - Название цикла foreach для доступа к его - свойствам - - - - - - Циклы foreach являются альтернативой - циклам section. Циклы - foreach используются для прохождения - по одному массиву. Синтаксис foreach - намного проще, чем section, но его - можно использовать только для одного массива. - Тэг foreach должен иметь в пару тэг - /foreach. Обязательные параметры - - from и item. Название - цикла foreach может быть любой последовательностью букв, цифр - и знаков подчеркиваний _. Циклы foreach - могут быть вложенные, и имена вложенных циклов должны быть - уникальные. Переменная from (обычно - массив значений) указывает количество итераций цикла. - foreachelse выполняется, если нету значений - в переменной from. - - -foreach - - -{* выводятся все значния массива $custid *} -{foreach from=$custid item=curr_id} - id: {$curr_id}<br> -{/foreach} - -OUTPUT: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -foreach key - -{* The key contains the key for each looped value - -assignment looks like this: - -$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), - array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); - -*} - -{foreach name=outer item=contact from=$contacts} - {foreach key=key item=item from=$contact} - {$key}: {$item}<br> - {/foreach} -{/foreach} - -OUTPUT: - -phone: 1<br> -fax: 2<br> -cell: 3<br> -phone: 555-4444<br> -fax: 555-3333<br> -cell: 760-1234<br> - - - - Циклы foreach имеют свои свойства, доступ к которым реализуется через - {$smarty.foreach.foreachname.varname}, где foreachname это название цикла - (значение аттрибута name), а varname - имя свойства. - - - - - iteration - - Количество отработанных итераций. - - - Отсчет начинается с 1 и увеличивается на единицу на каждой итерации. - - - - - first - - first устанавливается в true, если текущая итерация первая. - - - - - last - - last устанавливается в true, если текущая итерация последняя. - - - - - show - - Аттрибут show может принимать логические - значения (истина или ложь). Если ложь, то цикл foreach не будет - отображаться. Если присутствует тэг foreachelse, то он будет - отображен. - - - - - total - - total хранит количество итераций цикла. - Может быть использовано как в цикле, так и вне его.. - - - - - - - include - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя файла шаблона для включения - - - assign - строка (string) - Нет - n/a - Имя переменной, которой присвоится вывод - шаблона - - - [var ...] - [var type] - Нет - n/a - Переменные, переданные в локальную область - включаемого шаблона - - - - - - Тэги include используются для включения других шаблонов в текущий. - Любые переменные, доступные в текущем шаблоне, доступны и во - включаемом. Тэг include должен иметь аттрибут "file", который - указывает имя ресурса шаблона. - - - Опциональный аттрибут assign указывает, что - вывод шаблона будет присвоен переменной вместо отображения. - - -функция include - -{include file="header.tpl"} - -{* тело шаблона *} - -{include file="footer.tpl"} - - - Вы также можете передать переменные в подключаемый шаблон в - виде атрибутов. Любая переменная, переданная в подключаемый - шаблон, доступны только в области видимости подключаемого - файла. Переданные переменные имеют преимущество перед - существующими переменными с аналогичными именами. - - -функция include: передача переменных - -{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} - -{* тело шаблона *} - -{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} - - - Для подключения файлов вне папки $template_dir можно - указывать файл с помощью ресурсов. - - -функция include: пример использвоания ресурсов - -{* абсолютный путь к файлу *} -{include file="/usr/local/include/templates/header.tpl"} - -{* абсолютный путь к файлу (аналогично) *} -{include file="file:/usr/local/include/templates/header.tpl"} - -{* абсолютный путь к файлу в стиле windows (НЕОБХОДИМО использвоать превикс "file:") *} -{include file="file:C:/www/pub/templates/header.tpl"} - -{* подключить шаблон из ресурса "db" *} -{include file="db:header.tpl"} - - - - include_php - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - Имя подключаемого php файла - - - once - логический (boolean) - Нет - true - Укзаывает подключать файл или нет, - если он уже был однажды подключен - - - assign - строка (string) - Нет - n/a - Название переменной, которой будет - присвоен вывод include_php - - - - - - Тэг include_php используется для подключения php скрипта в шаблон. - Если security включен, то php скрипт должен быть расположен в папке - $trusted_dir. Тэг include_php должен иметь атрибут "file", который - указывает путь подключаемого php файла (относительный к - $trusted_dir или абсолютный путь). - - - include_php это хороший путь для управления компонентными шаблонами, - держать PHP код вне файлов шаблонов. Допустим у вас есть шаблон, - который выводит навигацию сайта, информация о которой динамически - загружается из базы данных. Вы можете хранить php файл, который - получает данные из базы данных, в отдельной папке, и подключать его - в начале шаблона. Теперь можно подключать этот файл шаблона в любом - месте, не волнуясь о происхождении информации (база данных или нет). - - - По умолчанию, php файлы подключаются только один раз, даже если - вызываются несколько раз в шаблоне. Можно указать, что файл должен - быть подключен каждый раз, указав атрибут once. - Установив once в ложь (false) указывает, что файл должен быть - подключен вне зависимости от того, был ли он подключен раньше. - - - Можно указать опциональный атрибут assign, - который указывает имя переменной, которой будет присвоен вывод - include_php вместо отображения. - - - Объект smarty доступен в подключаемом php файле как $this. - - -функция include_php - -load_nav.php -------------- - -<?php - - // Загрузка переменных из базы данных mysql и передача их в шаблон - require_once("MySQL.class.php"); - $sql = new MySQL; - $sql->query("select * from site_nav_sections order by name",SQL_ALL); - $this->assign('sections',$sql->record); - -?> - - -index.tpl ---------- - -{* абсолютный путь или относительный относительно $trusted_dir *} -{include_php file="/path/to/load_nav.php"} - -{foreach item="curr_section" from=$sections} - <a href="{$curr_section.url}">{$curr_section.name}</a><br> -{/foreach} - - - - insert - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Да - n/a - Имя функции вставки (insert_name) - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет - присвоен вывод - - - script - строка (string) - Нет - n/a - Bмя php файла, который будет подключен - перед вызовом функции вставки - - - [var ...] - [var type] - Нет - n/a - Переменные, передаваемые в - функцию вставки - - - - - - Тэг insert очень похож на тэг include, кроме случая, когда - кэширование включено. Insert - тэг не кешируется. Он будет выполнен каждый раз, при обращении - к шаблону. - - - Допустим вы имеете шаблон с баннером вверху страницы. - Баннер может содержать любую смесь HTML, исзображенй, - flash и т.д., то есть нельзя использовать просто - статическую ссылку, и мы не хотим, чтобы код баннера - кэшировался с остальной страницей. Тогда используем - тэг insert: шаблон знает значения #banner_location_id# и - #site_id# (взяты из файла конфигурации) и должен вызвать - функцию, чтобы получить код баннера. - - -функция insert - -{* пример установки баннера *} -{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} - - - В этом примере мы используем имя "getBanner" и передаем параметры - #banner_location_id# и #site_id#. Smarty попробует вызывать - функцию insert_getBanner() в вашей PHP программе, передав - значения #banner_location_id# и #site_id# первым параметром в виде - ассоциативного массива. Все имена функций вставки должны начинаться - с "insert_" для предотвращения возможных конфликтов имен. Функция - insert_getBanner() должна обработать переданные переменные и - вернуть результат. Он будет отображен в шаблоне вместо тэга insert. - В данном случае Smarty вызовет функцию insert_getBanner(array("lid" - => "12345","sid" => "67890")); и выведет результат на месте тэга - insert. - - - Если указан аттрибут "assign", то вывод функции вставки будет - присвоен указанной переменной вместо отображения. ЗАМЕЧАНИЕ: - присвоение вывода тэга insert переменной шаблона не очень - полезно, когда кеширование включено. - - - Если указан аттрибут "script", то указанный php файл будет - подключен (только однажды) перед вызовом функции вставки. - Это удобно, когда функция может не сущетсвовать, и должен быть - подключен php файл, чтобы определить функцию. Путь к файлу - должен быть либо абслотныю, либо относительным относительно - $trusted_dir. Когда security активирована, то php файл должен - быть в папке $trusted_dir. - - - Обьект Smarty передается в функцию как второй параметр. - Так вы можете использовать и модифицировать информацию - из объекта Smarty в функциях вставки. - - - Техническое Замечание - - Возможно иметь части шаблона не кешированными. - Если активировано кэширование, - то тэг insert все равно не будет кэширован. Он будет вызван - каждый раз при генерации страницы, даже из кешированных - страниц. Это полезно для таких вещей, как баннеры, опросы, - прогнозы погоды, результаты поиска, области обратной связи - и т.д. - - - - - if,elseif,else - - Конструкция if в Smarty такая же гибкая, как и аналогичная - конструкциия в php, только с несколько расширенными - возможностями. - with a few added features for the template engine. - Каждый тэг if должен иметь пару - /if. else и - elseif так же допустимы. "eq", "ne", - "neq", "gt", "lt", "lte", "le", "gte" "ge", "is even", - "is odd", "is not even", "is not odd", "not", "mod", - "div by", "even by", "odd by", "==", "!=", ">", "<", "<=", - ">=" -- допустимые квалификаторы условий. Они должны быть - отделены от окружающих елементов пробелами. - - -кострукция if - - 1000 ) and $volume >= #minVolAmt#} - ... -{/if} - -{* можно также вызывать встроенные функции php *} -{if count($var) gt 0} - ... -{/if} - -{* проверка значения на четность *} -{if $var is even} - ... -{/if} -{if $var is odd} - ... -{/if} -{if $var is not odd} - ... -{/if} - -{* проверка на делимость на 4 *} -{if $var is div by 4} - ... -{/if} - -{* проверка на "четность" групируя по 2. т.е., -0=четно, 1=четно, 2=нечетно, 3=нечетно, 4=четно, 5=четно, и т.д. *} -{if $var is even by 2} - ... -{/if} - -{* 0=четно, 1=четно, 2=четно, 3=нечетно, 4=нечетно, 5=нечетно, и т.д. *} -{if $var is even by 3} - ... -{/if} -]]> - - - - - ldelim,rdelim - - ldelim и rdelim используются для отображения разделителей. - В нашем случае это "{" и "}". Smarty всегда пытаеться - интерпретировать разделители, то есть это это единственный - способ вывнсти их. - - -ldelim, rdelim - -{* будут выведены разделители в шаблона *} - -{ldelim}funcname{rdelim} is how functions look in Smarty! - - -OUTPUT: - -{funcname} is how functions look in Smarty! - - - - literal - - Тэг Literal позволяет указать блок данных, который не должен - быть обработан Smarty. Это удобно для вывода javascript кода, - когда символы { и } могут быть не правильно поняты парсером - шаблонов. Все, что окружено тэгами {literal} и {/literal} - не обрабатывается и просто отображается как есть. - - -тэг literal - -{literal} - <script language=javascript> - - <!-- - function isblank(field) { - if (field.value == '') - { return false; } - else - { - document.loginform.submit(); - return true; - } - } - // --> - - </script> -{/literal} - - - - php - - Тэг php позволяет вставлять php код прямо в шаблон. Он не - будет как-либо изменен, независимо от $php_handling настроек. - Этот тэг тко для продвинутых пользователей, так как обычно - не требуется. - - -тэг php - -{php} - // подключение php скрипта прямо - // из шаблона - include("/path/to/display_weather.php"); -{/php} - - - - section,sectionelse - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Да - n/a - Название секции - - - loop - [$variable_name] - Да - n/a - Имя переменной цикла, для определения - количества итераций цикла. - - - start - целое (integer) - Нет - 0 - Индекс позиции, с которой будет начинаться - цикл. Если значение отрицательное, то начальная позиция - вычисляется от конца массива. Например, если в переменной - цикла 7 элементов и значение атрибута start равно -2, то - начальный индекс будет 5. Неверные значения (значения, вне - массива) автоматически обрезаются до ближайшего верного - значения. - - - step - целое (integer) - Нет - 1 - Значение шага, которое используется для прохода по - массиву. Например, step=2 указывает обход массива - по элементам 0,2,4... Если шаг отрицателен, то обход - массива будет производится в обратном направлении. - - - max - целое (integer) - Нет - 1 - Максимальное количество итераций цикла. - - - show - логический (boolean) - Нет - true - Указывает, показывать или нет эту секцию - - - - - - Секции используются для обхода массива данных. Все тэги - section должны иметь в пару тэг - /section. Обязательные параметры: - name и loop. Имя - секции может быть какой угодно последовательностью букв, - цифр и знаков подчеркиваний. Секции могут быть вложенными. - Имена вложенных секций должны отличаться друг от друга. - Переменная цикла (обычно массив) определяет количество итериций - цикла. Когда отображаем переменную цикла, имя секции должно - быть указана после имени переменной в квадратных скобках []. - Тэг sectionelse выполняется, когда - переменная цикла пуста. - - -section - - -{* этот пример выведет все значения массива $custid *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{/section} - -OUTPUT: - -id: 1000<br> -id: 1001<br> -id: 1002<br> - - - -section loop variable - -{* Переменная цикла определяет только количество итераций цикла. - Вы имеете доступ к любой переменной шаблона в секции. - Этот пример подразумевает, что каждый из массивов $custid, $name и $address - содержат одинаковое количество значений *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - <p> -{/section} - - -OUTPUT: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -<p> - - - -имена секций - -{* имя секции может быть любым и используется для указания - данных в секции *} -{section name=mydata loop=$custid} - id: {$custid[mydata]}<br> - name: {$name[mydata]}<br> - address: {$address[mydata]}<br> - <p> -{/section} - - - -вложенные секции - -{* секции могут быть неограничено вложеннымиas. С помощью вложенных секций - вы можете организовать доступ к комплексным стрктурам информации, таким - как многомерные массивы. В данном примере $contact_type[customer] является - массивом, где содержатся типа контактов данного клиент. *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> - name: {$name[customer]}<br> - address: {$address[customer]}<br> - {section name=contact loop=$contact_type[customer]} - {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> - {/section} - <p> -{/section} - - -OUTPUT: - -id: 1000<br> -name: John Smith<br> -address: 253 N 45th<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: john@mydomain.com<br> -<p> -id: 1001<br> -name: Jack Jones<br> -address: 417 Mulberry ln<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<br> -<p> -id: 1002<br> -name: Jane Munson<br> -address: 5605 apple st<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<br> -<p> - - - -секции и ассоциативные массивы - -{* Пример вывода ассоциативного массива. *} -{section name=customer loop=$contacts} - name: {$contacts[customer].name}<br> - home: {$contacts[customer].home}<br> - cell: {$contacts[customer].cell}<br> - e-mail: {$contacts[customer].email}<p> -{/section} - - -OUTPUT: - -name: John Smith<br> -home: 555-555-5555<br> -cell: 555-555-5555<br> -e-mail: john@mydomain.com<p> -name: Jack Jones<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jack@mydomain.com<p> -name: Jane Munson<br> -home phone: 555-555-5555<br> -cell phone: 555-555-5555<br> -e-mail: jane@mydomain.com<p> - - - - - -sectionelse - -{* sectionelse обработается, когда $custid не содержит значений *} -{section name=customer loop=$custid} - id: {$custid[customer]}<br> -{sectionelse} - there are no values in $custid. -{/section} - - - Секции также имеют свои собственные аттрибуты, которые определяют - определенные настройки секции. Они указываются примерно так: - {$smarty.section.sectionname.varname} - - - ЗАМЕЧАНИЕ: Начиная со Smarty версии 1.5.0, синтаксис аттрибутов секций - изменился с {%sectionname.varname%} на {$smarty.section.sectionname.varname}. - Старый синтаксис пока поддерживается, но вы встретите только новый стиль в - прмиерах данного руководства. - - - index - - index хранит текущий индекс цикла, начиная с 0 (или значения аттрибута - start), и увеличивается на единицу (или на значение аттрибута step). - - - Техническое Замечание - - Если аттрибуты step и start не указаны, то index - аналогичен аттрибуту секции iteration, кроме того, - что начинается с 0, а не с 1. - - - - аттрибут секции index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - - OUTPUT: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - - - - index_prev - - index_prev хранит предыдущий индекс цикла. - На первой итерации устанавливается в -1. - - - аттрибут секции index_prev - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_prev] ne $custid[customer.index]} - The customer id changed<br> - {/if} - {/section} - - - OUTPUT: - - 0 id: 1000<br> - The customer id changed<br> - 1 id: 1001<br> - The customer id changed<br> - 2 id: 1002<br> - The customer id changed<br> - - - - - index_next - - index_next хранит следующий индекс цикла. На последней итерации цикла - будет иметь значение на единицу больше текущего индекса (или на другое - значение, если указан аттрибут step). - - - аттрибут секции index_next - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - OUTPUT: - - 0 id: 1000<br> - The customer id will change<br> - 1 id: 1001<br> - The customer id will change<br> - 2 id: 1002<br> - The customer id will change<br> - - - - - iteration - - iteration хранит текущую итерацию цикла. - - - ЗАМЕЧАНИЕ: Значение не зависит от аттрибутов start, step и max, в отличии - аттрибута index. Итерации также начинаются с 1, а не с 0, как index. - rownum является синонимом для iteration. - - - аттрибут секции iteration - - {section name=customer loop=$custid start=5 step=2} - current loop iteration: {$smarty.section.customer.iteration}<br> - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} - {if $custid[customer.index_next] ne $custid[customer.index]} - The customer id will change<br> - {/if} - {/section} - - - OUTPUT: - - current loop iteration: 1 - 5 id: 1000<br> - The customer id will change<br> - current loop iteration: 2 - 7 id: 1001<br> - The customer id will change<br> - current loop iteration: 3 - 9 id: 1002<br> - The customer id will change<br> - - - - - first - - first имеет значение истина, если текущая итерация цикла - первая. - - - аттрибут секции first - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - OUTPUT: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - last - - last имеет значение истина, если текущая итерация цикла - последняя. - one. - - - аттрибут секции last - - {section name=customer loop=$custid} - {if $smarty.section.customer.first} - <table> - {/if} - - <tr><td>{$smarty.section.customer.index} id: - {$custid[customer]}</td></tr> - - {if $smarty.section.customer.last} - </table> - {/if} - {/section} - - - OUTPUT: - - <table> - <tr><td>0 id: 1000</td></tr> - <tr><td>1 id: 1001</td></tr> - <tr><td>2 id: 1002</td></tr> - </table> - - - - - rownum - - rownum хранит текущую итерацию цикла, начиная с 1. - rownum - синоним для iteration. - - - аттрибут секции rownum - - {section name=customer loop=$custid} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - - OUTPUT: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - - - - loop - - loop хранит последний отработанный индекс цикла. Может быть использован - как внутри секции, так и после нее. - - - аттрбут секции index - - {section name=customer loop=$custid} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.loop} customers shown above. - - OUTPUT: - - 0 id: 1000<br> - 1 id: 1001<br> - 2 id: 1002<br> - - There were 3 customers shown above. - - - - - show - - Аттрибут show может принимать логические - значения (истина или ложь). Если ложь, то цикл foreach не будет - отображаться. Если присутствует тэг foreachelse, то он будет - отображен. - - - аттрибут секции show - - {* $show_customer_info может быть передана из PHP программы - укаызвая, показывать или нет эту секцию *} - {section name=customer loop=$custid show=$show_customer_info} - {$smarty.section.customer.rownum} id: {$custid[customer]}<br> - {/section} - - {if $smarty.section.customer.show} - the section was shown. - {else} - the section was not shown. - {/if} - - - OUTPUT: - - 1 id: 1000<br> - 2 id: 1001<br> - 3 id: 1002<br> - - the section was shown. - - - - - total - - total хранит количество всех итераций цикла. Может быть использвован - как в секции, так и после нее. - - - аттрибут секции total - - {section name=customer loop=$custid step=2} - {$smarty.section.customer.index} id: {$custid[customer]}<br> - {/section} - - There were {$smarty.section.customer.total} customers shown above. - - OUTPUT: - - 0 id: 1000<br> - 2 id: 1001<br> - 4 id: 1002<br> - - There were 3 customers shown above. - - - - - - strip - - Часто вебдизайнеры сталкиваются с проблемой, что пробелы и переносы - строк влияют на отображение HTML в броузере ("фишки" броузера), то - есть может понадобится склеить все теги в шаблоне вместе, чтобы получить - желаемый результат. Но в результате получается нечитаемый или - трудноредактируемый шаблон. - - - В выводимом тексте, заключенном между тэгами {strip} и {/strip}, - удаляются повторные пробелы и переносы строк, перед отображением. - Так вы можете сохранив шаблон читаемым не волноваться насчет - лишних пробелов. - - - Техническое Замечание - - {strip}{/strip} не влияет на содержимое переменных шаблона. - См. модификатор strip. - - - -тэг strip - -{* следующее будет выведено в виде одной строки *} -{strip} -<table border=0> - <tr> - <td> - <A HREF="{$url}"> - <font color="red">This is a test</font> - </A> - </td> - </tr> -</table> -{/strip} - - -OUTPUT: - -<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> - - - Заметте, что в данном примере все строки начинаются и заканчиваются HTML - тэгами. Notice that in the above example, all the lines begin and end - with HTML tags. Учтите, что все строки склеиваются вместе. Если есть - обычный текст в начале строки, то может не получиться желаемый результат. - - +&designers.language-builtin-functions.language-function-capture; +&designers.language-builtin-functions.language-function-config-load; +&designers.language-builtin-functions.language-function-foreach; +&designers.language-builtin-functions.language-function-include; +&designers.language-builtin-functions.language-function-include-php; +&designers.language-builtin-functions.language-function-insert; +&designers.language-builtin-functions.language-function-if; +&designers.language-builtin-functions.language-function-ldelim; +&designers.language-builtin-functions.language-function-literal; +&designers.language-builtin-functions.language-function-php; +&designers.language-builtin-functions.language-function-section; +&designers.language-builtin-functions.language-function-strip; + + capture + + capture используется, чтобы присвоить вывод шаблона какой-либо + переменной вместо его вывода. Любое содержание между {capture + name="foo"} и {/capture} сохраняется в переменную, указанную в + атрибуте name. Затем его можно использовать в шаблоне с помощью + специальной переменной $smarty.capture.foo, где foo - значение, + переданное атрибуту name. Если аттрибут name не указан, то + используется default. Каждая комманда {capture} должна иметь пару + {/capture}. capture поддерживает вложение. + + + Техническое замечание + + Smarty 1.4.0 - 1.4.4 помещало захваченный вывод в переменную $return. + С версии 1.4.5 поведение было изменено на использование атрибута name, + так что обновите ваши шаблоны соответственно. + + + + + Будте осторожны, сохраняя вывод комманды insert. + Есил вы используете кэширование и встречаются комманды + insert в области кэированния, то + не сохраняйте данный вывод. + + + + + Сохранение вывода шаблона + +{* we don't want to print a table row unless content is displayed *} +{capture name=banner} +{include file="get_banner.tpl"} +{/capture} +{if $smarty.capture.banner ne ""} + <tr> + <td> + {$smarty.capture.banner} + </td> + </tr> +{/if} + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-config-load.xml b/docs/ru/designers/language-builtin-functions/language-function-config-load.xml new file mode 100644 index 00000000..67118c8f --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-config-load.xml @@ -0,0 +1,140 @@ + + + + config_load + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя config файла для загрузки + + + section + строка (string) + Нет + n/a + Имя секции для загрузки + + + scope + строка (string) + Нет + local + + Способ обработки области видимости загруженных + переменных. Должен быть одинм из local, parent + или global. local означает, что переменные загружены + в контекст локального шаблона. parent означает, что + переменные загружены в контекст как локального, так + и родительского шаблона. global означает, что + переменные доступны из любого шаблона. + + + + global + логический (boolean) + Нет + No + + Доступны ли переменные из родительского шаблона. + Аналогичен scope=parent. ЗАМЕЧАНИЕ: Этот аттрибут + перекрывается аттрибутом scope, но все еще + поддерживается. Если scope указан, то это значение + игнорируется. + + + + + + + Эта функция используется для загрузки переменных в + шаблон из файлов конфигруации. Смотри + Файлы конфигурации + для дополнительной информации. + + +функция config_load + + +{config_load file="colors.conf"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + Файлы конфигурации также могут содержать секции. Можно загрузить + переменные из определенной секции, указав аттрибут + section. + + + ЗАМЕЧАНИЕ: Секции файлов конфигурации и встроенная + функция section не имеют ничего общего, кроме + схожего названия. + + +функция config_load с указанием секции + +{config_load file="colors.conf" section="Customer"} + +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> + <tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> + </tr> +</table> +</body> +</html> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-foreach.xml b/docs/ru/designers/language-builtin-functions/language-function-foreach.xml new file mode 100644 index 00000000..11338920 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-foreach.xml @@ -0,0 +1,188 @@ + + + + foreach,foreachelse + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + from + строка (string) + Да + n/a + Имя массива, по которому надо пройтись + + + item + строка (string) + Да + n/a + Имя переменной, которая будет выступать в + качестве значения текущего елемента + + + key + строка (string) + Нет + n/a + Имя переменной, которая будет выступать в + качестве ключа текущего елемента + + + name + строка (string) + Нет + n/a + Название цикла foreach для доступа к его + свойствам + + + + + + Циклы foreach являются альтернативой + циклам section. Циклы + foreach используются для прохождения + по одному массиву. Синтаксис foreach + намного проще, чем section, но его + можно использовать только для одного массива. + Тэг foreach должен иметь в пару тэг + /foreach. Обязательные параметры - + from и item. Название + цикла foreach может быть любой последовательностью букв, цифр + и знаков подчеркиваний _. Циклы foreach + могут быть вложенные, и имена вложенных циклов должны быть + уникальные. Переменная from (обычно + массив значений) указывает количество итераций цикла. + foreachelse выполняется, если нету значений + в переменной from. + + +foreach + + +{* выводятся все значния массива $custid *} +{foreach from=$custid item=curr_id} + id: {$curr_id}<br> +{/foreach} + +OUTPUT: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +foreach key + +{* The key contains the key for each looped value + +assignment looks like this: + +$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), + array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234"))); + +*} + +{foreach name=outer item=contact from=$contacts} + {foreach key=key item=item from=$contact} + {$key}: {$item}<br> + {/foreach} +{/foreach} + +OUTPUT: + +phone: 1<br> +fax: 2<br> +cell: 3<br> +phone: 555-4444<br> +fax: 555-3333<br> +cell: 760-1234<br> + + + + Циклы foreach имеют свои свойства, доступ к которым реализуется через + {$smarty.foreach.foreachname.varname}, где foreachname это название цикла + (значение аттрибута name), а varname - имя свойства. + + + + + iteration + + Количество отработанных итераций. + + + Отсчет начинается с 1 и увеличивается на единицу на каждой итерации. + + + + + first + + first устанавливается в true, если текущая итерация первая. + + + + + last + + last устанавливается в true, если текущая итерация последняя. + + + + + show + + Аттрибут show может принимать логические + значения (истина или ложь). Если ложь, то цикл foreach не будет + отображаться. Если присутствует тэг foreachelse, то он будет + отображен. + + + + + total + + total хранит количество итераций цикла. + Может быть использовано как в цикле, так и вне его.. + + + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-if.xml b/docs/ru/designers/language-builtin-functions/language-function-if.xml new file mode 100644 index 00000000..fd32be4c --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-if.xml @@ -0,0 +1,107 @@ + + + + if,elseif,else + + Конструкция if в Smarty такая же гибкая, как и аналогичная + конструкциия в php, только с несколько расширенными + возможностями. + with a few added features for the template engine. + Каждый тэг if должен иметь пару + /if. else и + elseif так же допустимы. "eq", "ne", + "neq", "gt", "lt", "lte", "le", "gte" "ge", "is even", + "is odd", "is not even", "is not odd", "not", "mod", + "div by", "even by", "odd by", "==", "!=", ">", "<", "<=", + ">=" -- допустимые квалификаторы условий. Они должны быть + отделены от окружающих елементов пробелами. + + +кострукция if + + 1000 ) and $volume >= #minVolAmt#} + ... +{/if} + +{* можно также вызывать встроенные функции php *} +{if count($var) gt 0} + ... +{/if} + +{* проверка значения на четность *} +{if $var is even} + ... +{/if} +{if $var is odd} + ... +{/if} +{if $var is not odd} + ... +{/if} + +{* проверка на делимость на 4 *} +{if $var is div by 4} + ... +{/if} + +{* проверка на "четность" групируя по 2. т.е., +0=четно, 1=четно, 2=нечетно, 3=нечетно, 4=четно, 5=четно, и т.д. *} +{if $var is even by 2} + ... +{/if} + +{* 0=четно, 1=четно, 2=четно, 3=нечетно, 4=нечетно, 5=нечетно, и т.д. *} +{if $var is even by 3} + ... +{/if} +]]> + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-include-php.xml b/docs/ru/designers/language-builtin-functions/language-function-include-php.xml new file mode 100644 index 00000000..c19f8131 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-include-php.xml @@ -0,0 +1,126 @@ + + + + include_php + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя подключаемого php файла + + + once + логический (boolean) + Нет + true + Укзаывает подключать файл или нет, + если он уже был однажды подключен + + + assign + строка (string) + Нет + n/a + Название переменной, которой будет + присвоен вывод include_php + + + + + + Тэг include_php используется для подключения php скрипта в шаблон. + Если security включен, то php скрипт должен быть расположен в папке + $trusted_dir. Тэг include_php должен иметь атрибут "file", который + указывает путь подключаемого php файла (относительный к + $trusted_dir или абсолютный путь). + + + include_php это хороший путь для управления компонентными шаблонами, + держать PHP код вне файлов шаблонов. Допустим у вас есть шаблон, + который выводит навигацию сайта, информация о которой динамически + загружается из базы данных. Вы можете хранить php файл, который + получает данные из базы данных, в отдельной папке, и подключать его + в начале шаблона. Теперь можно подключать этот файл шаблона в любом + месте, не волнуясь о происхождении информации (база данных или нет). + + + По умолчанию, php файлы подключаются только один раз, даже если + вызываются несколько раз в шаблоне. Можно указать, что файл должен + быть подключен каждый раз, указав атрибут once. + Установив once в ложь (false) указывает, что файл должен быть + подключен вне зависимости от того, был ли он подключен раньше. + + + Можно указать опциональный атрибут assign, + который указывает имя переменной, которой будет присвоен вывод + include_php вместо отображения. + + + Объект smarty доступен в подключаемом php файле как $this. + + +функция include_php + +load_nav.php +------------- + +<?php + + // Загрузка переменных из базы данных mysql и передача их в шаблон + require_once("MySQL.class.php"); + $sql = new MySQL; + $sql->query("select * from site_nav_sections order by name",SQL_ALL); + $this->assign('sections',$sql->record); + +?> + + +index.tpl +--------- + +{* абсолютный путь или относительный относительно $trusted_dir *} +{include_php file="/path/to/load_nav.php"} + +{foreach item="curr_section" from=$sections} + <a href="{$curr_section.url}">{$curr_section.name}</a><br> +{/foreach} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-include.xml b/docs/ru/designers/language-builtin-functions/language-function-include.xml new file mode 100644 index 00000000..46fbc259 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-include.xml @@ -0,0 +1,123 @@ + + + + include + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + Имя файла шаблона для включения + + + assign + строка (string) + Нет + n/a + Имя переменной, которой присвоится вывод + шаблона + + + [var ...] + [var type] + Нет + n/a + Переменные, переданные в локальную область + включаемого шаблона + + + + + + Тэги include используются для включения других шаблонов в текущий. + Любые переменные, доступные в текущем шаблоне, доступны и во + включаемом. Тэг include должен иметь аттрибут "file", который + указывает имя ресурса шаблона. + + + Опциональный аттрибут assign указывает, что + вывод шаблона будет присвоен переменной вместо отображения. + + +функция include + +{include file="header.tpl"} + +{* тело шаблона *} + +{include file="footer.tpl"} + + + Вы также можете передать переменные в подключаемый шаблон в + виде атрибутов. Любая переменная, переданная в подключаемый + шаблон, доступны только в области видимости подключаемого + файла. Переданные переменные имеют преимущество перед + существующими переменными с аналогичными именами. + + +функция include: передача переменных + +{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} + +{* тело шаблона *} + +{include file="footer.tpl" logo="http://my.domain.com/logo.gif"} + + + Для подключения файлов вне папки $template_dir можно + указывать файл с помощью ресурсов. + + +функция include: пример использвоания ресурсов + +{* абсолютный путь к файлу *} +{include file="/usr/local/include/templates/header.tpl"} + +{* абсолютный путь к файлу (аналогично) *} +{include file="file:/usr/local/include/templates/header.tpl"} + +{* абсолютный путь к файлу в стиле windows (НЕОБХОДИМО использвоать превикс "file:") *} +{include file="file:C:/www/pub/templates/header.tpl"} + +{* подключить шаблон из ресурса "db" *} +{include file="db:header.tpl"} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-insert.xml b/docs/ru/designers/language-builtin-functions/language-function-insert.xml new file mode 100644 index 00000000..3a30e183 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-insert.xml @@ -0,0 +1,143 @@ + + + + insert + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Да + n/a + Имя функции вставки (insert_name) + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет + присвоен вывод + + + script + строка (string) + Нет + n/a + Bмя php файла, который будет подключен + перед вызовом функции вставки + + + [var ...] + [var type] + Нет + n/a + Переменные, передаваемые в + функцию вставки + + + + + + Тэг insert очень похож на тэг include, кроме случая, когда + кэширование включено. Insert + тэг не кешируется. Он будет выполнен каждый раз, при обращении + к шаблону. + + + Допустим вы имеете шаблон с баннером вверху страницы. + Баннер может содержать любую смесь HTML, исзображенй, + flash и т.д., то есть нельзя использовать просто + статическую ссылку, и мы не хотим, чтобы код баннера + кэшировался с остальной страницей. Тогда используем + тэг insert: шаблон знает значения #banner_location_id# и + #site_id# (взяты из файла конфигурации) и должен вызвать + функцию, чтобы получить код баннера. + + +функция insert + +{* пример установки баннера *} +{insert name="getBanner" lid=#banner_location_id# sid=#site_id#} + + + В этом примере мы используем имя "getBanner" и передаем параметры + #banner_location_id# и #site_id#. Smarty попробует вызывать + функцию insert_getBanner() в вашей PHP программе, передав + значения #banner_location_id# и #site_id# первым параметром в виде + ассоциативного массива. Все имена функций вставки должны начинаться + с "insert_" для предотвращения возможных конфликтов имен. Функция + insert_getBanner() должна обработать переданные переменные и + вернуть результат. Он будет отображен в шаблоне вместо тэга insert. + В данном случае Smarty вызовет функцию insert_getBanner(array("lid" + => "12345","sid" => "67890")); и выведет результат на месте тэга + insert. + + + Если указан аттрибут "assign", то вывод функции вставки будет + присвоен указанной переменной вместо отображения. ЗАМЕЧАНИЕ: + присвоение вывода тэга insert переменной шаблона не очень + полезно, когда кеширование включено. + + + Если указан аттрибут "script", то указанный php файл будет + подключен (только однажды) перед вызовом функции вставки. + Это удобно, когда функция может не сущетсвовать, и должен быть + подключен php файл, чтобы определить функцию. Путь к файлу + должен быть либо абслотныю, либо относительным относительно + $trusted_dir. Когда security активирована, то php файл должен + быть в папке $trusted_dir. + + + Обьект Smarty передается в функцию как второй параметр. + Так вы можете использовать и модифицировать информацию + из объекта Smarty в функциях вставки. + + + Техническое Замечание + + Возможно иметь части шаблона не кешированными. + Если активировано кэширование, + то тэг insert все равно не будет кэширован. Он будет вызван + каждый раз при генерации страницы, даже из кешированных + страниц. Это полезно для таких вещей, как баннеры, опросы, + прогнозы погоды, результаты поиска, области обратной связи + и т.д. + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml b/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml new file mode 100644 index 00000000..4e570ca1 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-ldelim.xml @@ -0,0 +1,43 @@ + + + + ldelim,rdelim + + ldelim и rdelim используются для отображения разделителей. + В нашем случае это "{" и "}". Smarty всегда пытаеться + интерпретировать разделители, то есть это это единственный + способ вывнсти их. + + +ldelim, rdelim + +{* будут выведены разделители в шаблона *} + +{ldelim}funcname{rdelim} is how functions look in Smarty! + + +OUTPUT: + +{funcname} is how functions look in Smarty! + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-literal.xml b/docs/ru/designers/language-builtin-functions/language-function-literal.xml new file mode 100644 index 00000000..ed484f5d --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-literal.xml @@ -0,0 +1,53 @@ + + + + literal + + Тэг Literal позволяет указать блок данных, который не должен + быть обработан Smarty. Это удобно для вывода javascript кода, + когда символы { и } могут быть не правильно поняты парсером + шаблонов. Все, что окружено тэгами {literal} и {/literal} + не обрабатывается и просто отображается как есть. + + +тэг literal + +{literal} + <script language=javascript> + + <!-- + function isblank(field) { + if (field.value == '') + { return false; } + else + { + document.loginform.submit(); + return true; + } + } + // --> + + </script> +{/literal} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-php.xml b/docs/ru/designers/language-builtin-functions/language-function-php.xml new file mode 100644 index 00000000..7f57faf5 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-php.xml @@ -0,0 +1,41 @@ + + + + php + + Тэг php позволяет вставлять php код прямо в шаблон. Он не + будет как-либо изменен, независимо от $php_handling настроек. + Этот тэг тко для продвинутых пользователей, так как обычно + не требуется. + + +тэг php + +{php} + // подключение php скрипта прямо + // из шаблона + include("/path/to/display_weather.php"); +{/php} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-section.xml b/docs/ru/designers/language-builtin-functions/language-function-section.xml new file mode 100644 index 00000000..0e9ba70f --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-section.xml @@ -0,0 +1,562 @@ + + + + section,sectionelse + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Да + n/a + Название секции + + + loop + [$variable_name] + Да + n/a + Имя переменной цикла, для определения + количества итераций цикла. + + + start + целое (integer) + Нет + 0 + Индекс позиции, с которой будет начинаться + цикл. Если значение отрицательное, то начальная позиция + вычисляется от конца массива. Например, если в переменной + цикла 7 элементов и значение атрибута start равно -2, то + начальный индекс будет 5. Неверные значения (значения, вне + массива) автоматически обрезаются до ближайшего верного + значения. + + + step + целое (integer) + Нет + 1 + Значение шага, которое используется для прохода по + массиву. Например, step=2 указывает обход массива + по элементам 0,2,4... Если шаг отрицателен, то обход + массива будет производится в обратном направлении. + + + max + целое (integer) + Нет + 1 + Максимальное количество итераций цикла. + + + show + логический (boolean) + Нет + true + Указывает, показывать или нет эту секцию + + + + + + Секции используются для обхода массива данных. Все тэги + section должны иметь в пару тэг + /section. Обязательные параметры: + name и loop. Имя + секции может быть какой угодно последовательностью букв, + цифр и знаков подчеркиваний. Секции могут быть вложенными. + Имена вложенных секций должны отличаться друг от друга. + Переменная цикла (обычно массив) определяет количество итериций + цикла. Когда отображаем переменную цикла, имя секции должно + быть указана после имени переменной в квадратных скобках []. + Тэг sectionelse выполняется, когда + переменная цикла пуста. + + +section + + +{* этот пример выведет все значения массива $custid *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{/section} + +OUTPUT: + +id: 1000<br> +id: 1001<br> +id: 1002<br> + + + +section loop variable + +{* Переменная цикла определяет только количество итераций цикла. + Вы имеете доступ к любой переменной шаблона в секции. + Этот пример подразумевает, что каждый из массивов $custid, $name и $address + содержат одинаковое количество значений *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + <p> +{/section} + + +OUTPUT: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +<p> + + + +имена секций + +{* имя секции может быть любым и используется для указания + данных в секции *} +{section name=mydata loop=$custid} + id: {$custid[mydata]}<br> + name: {$name[mydata]}<br> + address: {$address[mydata]}<br> + <p> +{/section} + + + +вложенные секции + +{* секции могут быть неограничено вложеннымиas. С помощью вложенных секций + вы можете организовать доступ к комплексным стрктурам информации, таким + как многомерные массивы. В данном примере $contact_type[customer] является + массивом, где содержатся типа контактов данного клиент. *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> + name: {$name[customer]}<br> + address: {$address[customer]}<br> + {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br> + {/section} + <p> +{/section} + + +OUTPUT: + +id: 1000<br> +name: John Smith<br> +address: 253 N 45th<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: john@mydomain.com<br> +<p> +id: 1001<br> +name: Jack Jones<br> +address: 417 Mulberry ln<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<br> +<p> +id: 1002<br> +name: Jane Munson<br> +address: 5605 apple st<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<br> +<p> + + + +секции и ассоциативные массивы + +{* Пример вывода ассоциативного массива. *} +{section name=customer loop=$contacts} + name: {$contacts[customer].name}<br> + home: {$contacts[customer].home}<br> + cell: {$contacts[customer].cell}<br> + e-mail: {$contacts[customer].email}<p> +{/section} + + +OUTPUT: + +name: John Smith<br> +home: 555-555-5555<br> +cell: 555-555-5555<br> +e-mail: john@mydomain.com<p> +name: Jack Jones<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jack@mydomain.com<p> +name: Jane Munson<br> +home phone: 555-555-5555<br> +cell phone: 555-555-5555<br> +e-mail: jane@mydomain.com<p> + + + + + +sectionelse + +{* sectionelse обработается, когда $custid не содержит значений *} +{section name=customer loop=$custid} + id: {$custid[customer]}<br> +{sectionelse} + there are no values in $custid. +{/section} + + + Секции также имеют свои собственные аттрибуты, которые определяют + определенные настройки секции. Они указываются примерно так: + {$smarty.section.sectionname.varname} + + + ЗАМЕЧАНИЕ: Начиная со Smarty версии 1.5.0, синтаксис аттрибутов секций + изменился с {%sectionname.varname%} на {$smarty.section.sectionname.varname}. + Старый синтаксис пока поддерживается, но вы встретите только новый стиль в + прмиерах данного руководства. + + + index + + index хранит текущий индекс цикла, начиная с 0 (или значения аттрибута + start), и увеличивается на единицу (или на значение аттрибута step). + + + Техническое Замечание + + Если аттрибуты step и start не указаны, то index + аналогичен аттрибуту секции iteration, кроме того, + что начинается с 0, а не с 1. + + + + аттрибут секции index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + + OUTPUT: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + + + + index_prev + + index_prev хранит предыдущий индекс цикла. + На первой итерации устанавливается в -1. + + + аттрибут секции index_prev + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_prev] ne $custid[customer.index]} + The customer id changed<br> + {/if} + {/section} + + + OUTPUT: + + 0 id: 1000<br> + The customer id changed<br> + 1 id: 1001<br> + The customer id changed<br> + 2 id: 1002<br> + The customer id changed<br> + + + + + index_next + + index_next хранит следующий индекс цикла. На последней итерации цикла + будет иметь значение на единицу больше текущего индекса (или на другое + значение, если указан аттрибут step). + + + аттрибут секции index_next + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + OUTPUT: + + 0 id: 1000<br> + The customer id will change<br> + 1 id: 1001<br> + The customer id will change<br> + 2 id: 1002<br> + The customer id will change<br> + + + + + iteration + + iteration хранит текущую итерацию цикла. + + + ЗАМЕЧАНИЕ: Значение не зависит от аттрибутов start, step и max, в отличии + аттрибута index. Итерации также начинаются с 1, а не с 0, как index. + rownum является синонимом для iteration. + + + аттрибут секции iteration + + {section name=customer loop=$custid start=5 step=2} + current loop iteration: {$smarty.section.customer.iteration}<br> + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *} + {if $custid[customer.index_next] ne $custid[customer.index]} + The customer id will change<br> + {/if} + {/section} + + + OUTPUT: + + current loop iteration: 1 + 5 id: 1000<br> + The customer id will change<br> + current loop iteration: 2 + 7 id: 1001<br> + The customer id will change<br> + current loop iteration: 3 + 9 id: 1002<br> + The customer id will change<br> + + + + + first + + first имеет значение истина, если текущая итерация цикла - первая. + + + аттрибут секции first + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + OUTPUT: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + last + + last имеет значение истина, если текущая итерация цикла - последняя. + one. + + + аттрибут секции last + + {section name=customer loop=$custid} + {if $smarty.section.customer.first} + <table> + {/if} + + <tr><td>{$smarty.section.customer.index} id: + {$custid[customer]}</td></tr> + + {if $smarty.section.customer.last} + </table> + {/if} + {/section} + + + OUTPUT: + + <table> + <tr><td>0 id: 1000</td></tr> + <tr><td>1 id: 1001</td></tr> + <tr><td>2 id: 1002</td></tr> + </table> + + + + + rownum + + rownum хранит текущую итерацию цикла, начиная с 1. + rownum - синоним для iteration. + + + аттрибут секции rownum + + {section name=customer loop=$custid} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + + OUTPUT: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + + + + loop + + loop хранит последний отработанный индекс цикла. Может быть использован + как внутри секции, так и после нее. + + + аттрбут секции index + + {section name=customer loop=$custid} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.loop} customers shown above. + + OUTPUT: + + 0 id: 1000<br> + 1 id: 1001<br> + 2 id: 1002<br> + + There were 3 customers shown above. + + + + + show + + Аттрибут show может принимать логические + значения (истина или ложь). Если ложь, то цикл foreach не будет + отображаться. Если присутствует тэг foreachelse, то он будет + отображен. + + + аттрибут секции show + + {* $show_customer_info может быть передана из PHP программы + укаызвая, показывать или нет эту секцию *} + {section name=customer loop=$custid show=$show_customer_info} + {$smarty.section.customer.rownum} id: {$custid[customer]}<br> + {/section} + + {if $smarty.section.customer.show} + the section was shown. + {else} + the section was not shown. + {/if} + + + OUTPUT: + + 1 id: 1000<br> + 2 id: 1001<br> + 3 id: 1002<br> + + the section was shown. + + + + + total + + total хранит количество всех итераций цикла. Может быть использвован + как в секции, так и после нее. + + + аттрибут секции total + + {section name=customer loop=$custid step=2} + {$smarty.section.customer.index} id: {$custid[customer]}<br> + {/section} + + There were {$smarty.section.customer.total} customers shown above. + + OUTPUT: + + 0 id: 1000<br> + 2 id: 1001<br> + 4 id: 1002<br> + + There were 3 customers shown above. + + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-builtin-functions/language-function-strip.xml b/docs/ru/designers/language-builtin-functions/language-function-strip.xml new file mode 100644 index 00000000..40d23b58 --- /dev/null +++ b/docs/ru/designers/language-builtin-functions/language-function-strip.xml @@ -0,0 +1,72 @@ + + + + strip + + Часто вебдизайнеры сталкиваются с проблемой, что пробелы и переносы + строк влияют на отображение HTML в броузере ("фишки" броузера), то + есть может понадобится склеить все теги в шаблоне вместе, чтобы получить + желаемый результат. Но в результате получается нечитаемый или + трудноредактируемый шаблон. + + + В выводимом тексте, заключенном между тэгами {strip} и {/strip}, + удаляются повторные пробелы и переносы строк, перед отображением. + Так вы можете сохранив шаблон читаемым не волноваться насчет + лишних пробелов. + + + Техническое Замечание + + {strip}{/strip} не влияет на содержимое переменных шаблона. + См. модификатор strip. + + + +тэг strip + +{* следующее будет выведено в виде одной строки *} +{strip} +<table border=0> + <tr> + <td> + <A HREF="{$url}"> + <font color="red">This is a test</font> + </A> + </td> + </tr> +</table> +{/strip} + + +OUTPUT: + +<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table> + + + Заметте, что в данном примере все строки начинаются и заканчиваются HTML + тэгами. Notice that in the above example, all the lines begin and end + with HTML tags. Учтите, что все строки склеиваются вместе. Если есть + обычный текст в начале строки, то может не получиться желаемый результат. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions.xml b/docs/ru/designers/language-custom-functions.xml index 1b51de4d..d7d4c1ae 100644 --- a/docs/ru/designers/language-custom-functions.xml +++ b/docs/ru/designers/language-custom-functions.xml @@ -6,2601 +6,24 @@ Smarty поставляется с несколькими пользовательскими функциями, которые вы можете использовать в шаблонах. - - assign - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - var - строка (string) - Да - n/a - Имя переменной, значение которой будет - устанавливаться - - - value - строка (string) - Да - n/a - Устанавливаемое значение - - - - - - assign используется для установки значения переменной в - процессе выполнения шаблона. - - -assign - -{assign var="name" value="Bob"} - -Значение $name - {$name}. - -OUTPUT: - -Значение $name - Bob. - - - - counter - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Нет - default - Имя счетчика - - - start - number - Нет - 1 - Начальное значение счетчика - - - skip - number - Нет - 1 - Шаг счетчика - - - direction - строка (string) - Нет - up - Направление (вверх - up/вниз - down) - - - print - логический (boolean) - Нет - true - выводить значение счетчика или нет - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет присвоен - вывод - - - - - - counter используется для управления счетчиком. counter запоминает - количество итераций. Можно регулировать начало, интервал и - направление отсчета, а также указать, выводить ил значение - счетчика или нет. Можно запустить несколько счетчиков одновременно, - указав уникальное имя для каждого. Если имя счетчика не указано, - будет использовано по умолчанию 'default'. - - - Если указан аттрибут "assign", то вывод тэга counter будет присвоен - переменной шаблона, вместо отображения. - - -counter - -{* инициализируем счетчик *} -{counter start=0 skip=2 print=false} - -{counter}<br> -{counter}<br> -{counter}<br> -{counter}<br> - -OUTPUT: - -2<br> -4<br> -6<br> -8<br> - - - - cycle - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Нет - default - Название цикла - - - values - mixed - Да - N/A - Значения, по которым будет производиться цикл. - Либо список, разделеный запятыми (либо другим указанным - разделителем), либо массив значений. - - - print - логический (boolean) - Нет - true - Выводить значение, или нет - - - advance - логический (boolean) - Нет - true - Переключаться или нет на следующее значение - - - delimiter - строка (string) - Нет - , - Разделитель, используемый в аттрибуте values. - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет присвоен вывод тэга - - - - - - Cycle используется для прохода через множество значений. - С его помощью можно легко реализовать переключение между - двумя и более цветами в таблице, или пройти цикл через - массив. - - - Можно проходить через несколько множеств значений одновременно, - указав аттрибут name. Имена должны быть уникальными. - - - Можно не отображать данный элемент, установив аттрибут print в - ложь (false). Удобно для пропуска значения, без его вывода. - - - Аттрибут advance используется для повтора значения. Если - установлен в истина (true), то при следующем вызове cycle - будет выведено то же значение. - - - Если указан специальный аттрибут "assign", то вывод cycle - присваивается переменной, вместо отображения. - - -cycle - -{section name=rows loop=$data} -<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> - <td>{$data[rows]}</td> -</tr> -{/section} - -OUTPUT: - -<tr bgcolor="#eeeeee"> - <td>1</td> -</tr> -<tr bgcolor="#d0d0d0"> - <td>2</td> -</tr> -<tr bgcolor="#eeeeee"> - <td>3</td> -</tr> - - - - - debug - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - output - строка (string) - Нет - html - Тип вывода (html или javascript) - - - - - - {debug} выводит консоль отладки. Это работает независимо от - значения опции debug. - Так как этот тэг обрабатывается в процесе выполнения, то возможно - вывести только присвоенные переменные, но не используемые шаблоны. - Но вы видите все переменные, доступные в области видимости текущего - шаблона. - - - - eval - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - var - mixed - Да - n/a - Переменная (или строка) для обработки - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет присвоен вывод - - - - - - eval используется для обработки переменной, как шаблона. Можно - использовать для таких вещей, как хранение шаблонных - тэгов/переменных в переменной или в файлах конфигруации. - - - Если указан специальный аттрибут "assign", то вывод тэга eval - присваивается переменной, вместо отображения. - - - Техническое Замечание - - Переменные шаблоны обрабатываются так же, как и обычные шаблоны. - Они подвластны тем же правилам и ограничениям безопасности. - - - - Техническое Замечание - - Переменные шаблоны компилируются при каждоv обращении. - Откомпилированные версии не сохраняются! Однако, если - кэширование включено, то вывод будет закэширован с - остальной частью шаблона. - - - -eval - -setup.conf ----------- - -emphstart = <b> -emphend = </b> -title = Welcome to {$company}'s home page! -ErrorCity = You must supply a {#emphstart#}city{#emphend#}. -ErrorState = You must supply a {#emphstart#}state{#emphend#}. - - -index.tpl ---------- - -{config_load file="setup.conf"} - -{eval var=$foo} -{eval var=#title#} -{eval var=#ErrorCity#} -{eval var=#ErrorState# assign="state_error"} -{$state_error} - -OUTPUT: - -This is the contents of foo. -Welcome to Foobar Pub & Grill's home page! -You must supply a <b>city</b>. -You must supply a <b>state</b>. - - - - - - fetch - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - файл, http или ftp сайт для отображния - - - assign - строка (string) - Нет - n/a - Имя переменной, которой будет присвоен вывод - - - - - - fetch используется для отображения локальных файлов, http или ftp - страниц. Есил файл начинается с "http://", то вебстраница будет - получена и выведена. Если файл начинается с "ftp://", то файл будет - получен с ftp сервера и выведен. Для локальных файлов должен быть - указан либо абсолютный путь, либо путь относительно выполняемого - php файла. - - - Если указать специалньый аттрибут "assign", то вывод функции fetch - будет присвоен переменной вместо отображения. Добавлено в - Smarty версии 1.5.0. - - - Техническое Замечание - - HTTP переадресация не поддерживается. Убедитесь, что указываете - завершающие слэши, где это необходимо. - - - - Техническое Замечание - - Если включена security и указан файл из локальной файловой - системы, то отобразятся лишь файлы, который находятся в - указаных безопасных папках ($secure_dir). - - - -fetch - -{* включаем javascript в шаблон *} -{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} - -{* Добавляем немного прогноза погоды с сервера погоды *} -{fetch file="http://www.myweather.com/68502/"} - -{* новостную ленту берем с ftp сервера *} -{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} - -{* присваиваем полученный файл переменной *} -{fetch file="http://www.myweather.com/68502/" assign="weather"} -{if $weather ne ""} - <b>{$weather}</b> -{/if} - - - - html_checkboxes - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Нет - checkbox - название списка флажков - - - values - массив - Да, если не указан аттрибут options - n/a - Массив значений для флажков - - - output - массив - Да, если не указан аттрибут options - n/a - массив названий флажков - - - checked - строка (string) - Нет - пусто - выбранный флажок - - - options - ассоциативный массив - Да, если не указаны аттрибуты values и output - n/a - Ассоциативнй массив значений и названий - - - separator - строка (string) - Нет - пусто - строка разделяющая каждый флажок - - - - - - Пользовательская функция html_checkboxes генерирует группу - HTML фложков по указанной информации. Также заботится об - флажках, которые выбраны по умолчанию. параметры vslues и output - обязательны, если не указан аттрибут options. Весь вывод - совместим с XHTML. - - - Все параметры, которые не указаны в списке выводятся в виде - пар name/value в каждом созданном тэге <input>. - - -html_checkboxes - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_checkboxes', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson','Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} - - -OUTPUT: (both examples) - -<input type="checkbox" name="id[]" value="1000">Joe Schmoe<br /> -<input type="checkbox" name="id[]" value="1001" checked="checked"><br /> -<input type="checkbox" name="id[]" value="1002">Jane Johnson<br /> -<input type="checkbox" name="id[]" value="1003">Charlie Brown<br /> - - - - html_image - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - file - строка (string) - Да - n/a - название/путь к изображению - - - border - строка (string) - Нет - 0 - размер рамки вокруг изображения - - - height - строка (string) - Нет - реальная высота изображения - высота изображения - - - width - строка (string) - Нет - реальная ширина изображения - ширина изображения - - - basedir - строка (string) - Нет - корень веб сервера - папка, от которой указаны относительные пути - - - link - строка (string) - Нет - n/a - значение href, куда ссылается картинка - - - - - - Пользовательская функция html_image генерирует HTML для изображения. - Ширина и высота автоматически вычисляются из файла изображения, если - не указаны явно. - - - basedir - базовая папка для относительных путей. Если не указана, - то используется корень веб сервер (переменная окружени DOCUMENT_ROOT). - Если security включено, то путь к изображения должен быть в пределах - безопасных папок. - - - Аттрибут link указывает, куда ссылается изображение. Аттрибут - link устанавливает значение аттрибута href тэга А. Если указан - аттрибут link, то изображение окружается выражениями <a - href="LINKVALUE"> и <a>. - - - Техническое Замечание - - html_image требует обращение к диску lzk чтения изображения - и вычисления его размеров. Если не используется кэширование - шаблонов, то тогда лушче не пользоваться тэгом html_image - и вставлять статические тэги изображений, для достижения - оптимального быстродействия. - - - -html_image - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->display('index.tpl'); - -index.tpl: - -{html_image file="pumpkin.jpg"} -{html_image file="/path/from/docroot/pumpkin.jpg"} -{html_image file="../path/relative/to/currdir/pumpkin.jpg"} - -OUTPUT: (possible) - -<img src="pumpkin.jpg" border="0" width="44" height="68"> -<img src="/path/under/docroot/pumpkin.jpg" border="0" width="44" height="68"> -<img src="../path/relative/to/currdir/pumpkin.jpg" border="0" width="44" height="68"> - - - - html_options - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - values - массив - Да, если не указан аттрибут options - n/a - массив значений для выпадающего списка - - - output - массив - Да, если не указан аттрибут options - n/a - массив названий для выпадающего списка - - - selected - string/array - Нет - пусто - Выбранный элемент(ы) - - - options - ассоциативный массив - Да, если не указаны аттрибуты values и output - n/a - ассоциативный массив значений и названий - - - name - строка (string) - Нет - пусто - Название выпадающего списка - - - - - - пользовательская функция html_options генерирует группу html тэгов - option по указанной информации. Также заботится о выбранных по - умолчанию элементах. Аттрибуты values и output обязательны, если не - указан аттрибут options. - - - Если данное значение - массив, то оно будет представлено в виде - html OPTGROUP. Рекурсия с OPTGROUP поддерживается. Весь вывод - совместим с XHTML. - - - Если указан необязательный аттрибут name, - то группа опций заключится в тэг <select - name="groupname"> и </select>, иначе сгенерируется только - группа опций. - - - Все параметры, которые не указаны выше, выводятся в виде - пары name/value внутри тэга <select>-tag. Они игнорируются, - если аттрибут name не указан. - - -html_options - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options values=$cust_ids selected=$customer_id output=$cust_names} -</select> - - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_options', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - -index.tpl: - -<select name=customer_id> - {html_options options=$cust_options selected=$customer_id} -</select> - - -OUTPUT: (both examples) - -<select name=customer_id> - <option value="1000">Joe Schmoe</option> - <option value="1001" selected="selected">Jack Smith</option> - <option value="1002">Jane Johnson</option> - <option value="1003">Charlie Brown</option> -</select> - - - - html_radios - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - name - строка (string) - Нет - radio - название элементов выбора - - - values - массив - Да, если не указан аттрибут options - n/a - массив значений элементов выбора - - - output - массив - Да, если не указан аттрибут options - n/a - массив названий элементов выбора - - - checked - строка (string) - Нет - пусто - Значение выбранного элемента - - - options - ассоциативный массив - Да, если не указаны аттрибуты values и output - n/a - ассоциативный массив значений и названий - элементов выбора - - - separator - строка (string) - Нет - пусто - текст, разделяющий элементы выбора - - - - - - Пользовательсякая функция html_radios генерирует HMTL код - группы элементов выбора (radio button group). Автоматически - устанавливает выбранное значение, если оно укзано. Требует - наличия аттрибутов values и output или аттрибута options. - Сгенерированный HMTL код совместим с XHTML. - - - Все параметры, которые не указаны в таблице выше, передаются - и выводятся внутри каждого созданного тэга <input>. - - - -html_radios - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_ids', array(1000,1001,1002,1003)); -$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane -Johnson','Carlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} - - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('cust_radios', array( - 1001 => 'Joe Schmoe', - 1002 => 'Jack Smith', - 1003 => 'Jane Johnson', - 1004 => 'Charlie Brown')); -$smarty->assign('customer_id', 1001); -$smarty->display('index.tpl'); - - -index.tpl: - -{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} - - -OUTPUT: (both examples) - -<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> -<input type="radio" name="id[]" value="1001" checked="checked"><br /> -<input type="radio" name="id[]" value="1002">Jane Johnson<br /> -<input type="radio" name="id[]" value="1003">Charlie Brown<br /> - - - - html_select_date - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - prefix - строка (string) - Нет - Date_ - префикс названий переменных - - - time - timestamp/ГГГГ-ММ-ДД - Нет - текущее время в формате unix timestamp - или ГГГГ-ММ-ДД - используемое время - - - start_year - строка (string) - Нет - текущий год - Начальный год в выпадающем спииске. Либо указывается - явно, либо относительно текущего года (+/- N) - - - end_year - строка (string) - Нет - аналогично start_year - Конечный год в вырадающем списке. Либо указывается - явно, либо относительно текущего года (+/- N) - - - display_days - логический (boolean) - Нет - true - выводить ли список дней - - - display_months - логический (boolean) - Нет - true - выводить ли список месяцев - - - display_years - логический (boolean) - Нет - true - выводить ли список лет - - - month_format - строка (string) - Нет - %B - Формат названия месяцев (strftime) - - - day_format - строка (string) - Нет - %02d - формат названия дней (sprintf) - - - day_value_format - строка (string) - Нет - %d - формат значения дней (sprintf) - - - year_as_text - логический (boolean) - Нет - false - Выводить ли значение года текстом - - - reverse_years - логический (boolean) - Нет - false - Выводить года в обратном порядке - - - field_array - строка (string) - Нет - null - название переменной (name), которая будет - содержать выбранные значения в виде массива: - name[Day], name[Year], name[Month]. - - - - day_size - строка (string) - Нет - null - Устанавливает аттрибут size тэга select - для дней - - - month_size - строка (string) - Нет - null - Устанавливает аттрибут size тэга select - для месяцев - - - year_size - строка (string) - Нет - null - Устанавливает аттрибут size тэга select - для лет - - - all_extra - строка (string) - Нет - null - Устанавливает дополнительные аттрибуты для - всех тэгов select/input - - - day_extra - строка (string) - Нет - null - Устанавливает дополнительные аттрибуты тэгов - select/input для дней - - - month_extra - строка (string) - Нет - null - Устанавливает дополнительные аттрибуты тэгов - select/input для месяцев - - - year_extra - строка (string) - Нет - null - Устанавливает дополнительные аттрибуты тэгов - select/input для лет - - - field_order - строка (string) - Нет - MDY - Порядок следования полей (МДГ) - - - field_separator - строка (string) - Нет - \n - текст, раздляющий поля - - - month_value_format - строка (string) - Нет - %m - формат значения месяца (strftime). - По умолчанию - %m (номер месяца). - - - - - - пользовательская функция html_select_date генерирует поля выбора - даты. - - -html_select_date - -{html_select_date} - - -OUTPUT: - -<select name="Date_Month"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="Date_Day"> -<option value="1">01</option> -<option value="2">02</option> -<option value="3">03</option> -<option value="4">04</option> -<option value="5">05</option> -<option value="6">06</option> -<option value="7">07</option> -<option value="8">08</option> -<option value="9">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13" selected>13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -</select> -<select name="Date_Year"> -<option value="2001" selected>2001</option> -</select> - - - - -html_select_date - - -{* start and end year can be relative to current year *} -{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} - -OUTPUT: (current year is 2000) - -<select name="StartDateMonth"> -<option value="1">January</option> -<option value="2">February</option> -<option value="3">March</option> -<option value="4">April</option> -<option value="5">May</option> -<option value="6">June</option> -<option value="7">July</option> -<option value="8">August</option> -<option value="9">September</option> -<option value="10">October</option> -<option value="11">November</option> -<option value="12" selected>December</option> -</select> -<select name="StartDateYear"> -<option value="1999">1995</option> -<option value="1999">1996</option> -<option value="1999">1997</option> -<option value="1999">1998</option> -<option value="1999">1999</option> -<option value="2000" selected>2000</option> -<option value="2001">2001</option> -</select> - - - - html_select_time - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - prefix - строка (string) - Нет - Time_ - префикс названий переменных - - - time - timestamp - Нет - текущее время - используемое время - - - display_hours - логический (boolean) - Нет - true - выводить часы - - - display_minutes - логический (boolean) - Нет - true - выводить минуты - - - display_seconds - логический (boolean) - Нет - true - выводить секунды - - - display_meridian - логический (boolean) - Нет - true - выводить меридиан (am/pm) - - - use_24_hours - логический (boolean) - Нет - true - использовать 24-часовой формат времени - - - minute_interval - целое (integer) - Нет - 1 - интервал элементов выпадающего списка минут - - - second_interval - целое (integer) - Нет - 1 - интервал элементов выпадающего списка секунд - - - field_array - строка (string) - Нет - n/a - название переменной, в которую передадутся - выбранные значения в виде массива. - - - all_extra - строка (string) - Нет - null - указывает дополнительные аттрибуты для - всех тэгов select/input - - - hour_extra - строка (string) - Нет - null - указывает дополнительные аттрибуты для - тэгов select/input для выбора часов - - - minute_extra - строка (string) - Нет - null - указывает дополнительные аттрибуты для - тэгов select/input для выбора минут - - - second_extra - строка (string) - Нет - null - указывает дополнительные аттрибуты для - тэгов select/input для выбора секунд - - - meridian_extra - строка (string) - Нет - null - указывает дополнительные аттрибуты для - тэгов select/input для выбора меридиан - - - - - - пользовательская функция html_select_time генерирует HTML поля - выбора времени. - - -html_select_time - -{html_select_time use_24_hours=true} - - -OUTPUT: - -<select name="Time_Hour"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09" selected>09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -</select> -<select name="Time_Minute"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20" selected>20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23">23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Second"> -<option value="00">00</option> -<option value="01">01</option> -<option value="02">02</option> -<option value="03">03</option> -<option value="04">04</option> -<option value="05">05</option> -<option value="06">06</option> -<option value="07">07</option> -<option value="08">08</option> -<option value="09">09</option> -<option value="10">10</option> -<option value="11">11</option> -<option value="12">12</option> -<option value="13">13</option> -<option value="14">14</option> -<option value="15">15</option> -<option value="16">16</option> -<option value="17">17</option> -<option value="18">18</option> -<option value="19">19</option> -<option value="20">20</option> -<option value="21">21</option> -<option value="22">22</option> -<option value="23" selected>23</option> -<option value="24">24</option> -<option value="25">25</option> -<option value="26">26</option> -<option value="27">27</option> -<option value="28">28</option> -<option value="29">29</option> -<option value="30">30</option> -<option value="31">31</option> -<option value="32">32</option> -<option value="33">33</option> -<option value="34">34</option> -<option value="35">35</option> -<option value="36">36</option> -<option value="37">37</option> -<option value="38">38</option> -<option value="39">39</option> -<option value="40">40</option> -<option value="41">41</option> -<option value="42">42</option> -<option value="43">43</option> -<option value="44">44</option> -<option value="45">45</option> -<option value="46">46</option> -<option value="47">47</option> -<option value="48">48</option> -<option value="49">49</option> -<option value="50">50</option> -<option value="51">51</option> -<option value="52">52</option> -<option value="53">53</option> -<option value="54">54</option> -<option value="55">55</option> -<option value="56">56</option> -<option value="57">57</option> -<option value="58">58</option> -<option value="59">59</option> -</select> -<select name="Time_Meridian"> -<option value="am" selected>AM</option> -<option value="pm">PM</option> -</select> - - - - html_table - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - loop - массив - Да - n/a - массив данных, по которому будет произведен обход - - - cols - целое (integer) - Нет - 3 - количество колонок таблицы - - - table_attr - строка (string) - Нет - border="1" - дополнительные аттрибуты тэга table - - - tr_attr - строка (string) - Нет - пусто - дополнительные аттрибуты тэга tr (если указан - массив, то его элементы циклически повторяються) - - - td_attr - строка (string) - Нет - пусто - дополнительные аттрибуты тэга td (если указан - массив, то его элементы циклически повторяються) - - - trailpad - строка (string) - Нет - &nbsp; - значение остаточных ячеек на последней - строке табилцы - - - - - - Пользовательская функция html_table выводит - массив в виде HTML таблицы. Аттрибут cols - указывает количество колонок. Аттрибуты table_attr, - tr_attr и td_attr указывают - дополнительные аттрибуты тэго table, tr и td. Если значение - tr_attr или td_attr - массив, - то кго значения циклический повторяются. Атрибут - trailpad устанавливает значения для остаточных - ячеек на послденей строке таблицы. - - -html_table - -index.php: - -require('Smarty.php.class'); -$smarty = new Smarty; -$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); -$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); -$smarty->display('index.tpl'); - -index.tpl: - -{html_table loop=$data} -{html_table loop=$data cols=4 table_attr='border="0"'} -{html_table loop=$data cols=4 tr_attr=$tr} - -OUTPUT: - -<table border="1"> -<tr><td>1</td><td>2</td><td>3</td></tr> -<tr><td>4</td><td>5</td><td>6</td></tr> -<tr><td>7</td><td>8</td><td>9</td></tr> -</table> -<table border="0"> -<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> -<table border="1"> -<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> -<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> -<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> -</table> - - - - math - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - equation - строка (string) - Да - n/a - математической выражение - - - format - строка (string) - Нет - n/a - формат рузультата (sprintf) - - - var - numeric - Да - n/a - переменная выражения - - - assign - строка (string) - Нет - n/a - переменная шаблона, которой будет присвоен - вывод - - - [var ...] - numeric - Да - n/a - дополнительные переменные выражения - - - - - - пользовательская функция math позволяет дизайнерам шаблонов - вычислять математические выражения в шаблоне. Любая численная - переменная шаблона может быть использована в выражении. Переменные, - используемые в выражении, передаються в качестве параметров, - которые могут быть как и переменные шаблона, так и статические - щначения. Допустимые операторы: +, -, /, *, abs, ceil, cos, - exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, - srans и tan. Ознакомтесь с php документацией под данным функциям. - - - Если указан аттрибут "assign", то вывод будет присвоен переменной, - вместо отображения. - - - Техническое Замечание - - использование функции math значительно сказывается на - времени выполнения программы, так как реализована с помощью - php функции eval(). Выполнение математических операций в php - программе более эффективно, то есть следует везде, где возможно, - делать вычисления в программе и передавать результ в шаблон. - Следует также избегать повторяющегося вызова функции math - (например в циклах). - - - -math - -{* $height=4, $width=5 *} - -{math equation="x + y" x=$height y=$width} - -OUTPUT: - -9 - - -{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} - -{math equation="height * width / division" - height=$row_height - width=$row_width - division=#col_div#} - -OUTPUT: - -100 - - -{* можно использовать скобки *} - -{math equation="(( x + y ) / z )" x=2 y=10 z=2} - -OUTPUT: - -6 - - -{* можно указать формат результата (sprintf) *} - -{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} - -OUTPUT: - -9.44 - - - - mailto - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - address - строка (string) - Да - n/a - адрес e-mail - - - text - строка (string) - Нет - n/a - название ссылки. По умолчанию: - адрес e-mail - - - encode - строка (string) - Нет - none - Способ кодирования e-mail. - Может быть одним из none, - hex или javascript. - - - cc - строка (string) - Нет - n/a - адреса e-mail для точной копии. - Адреса разделяются запятыми. - - - bcc - строка (string) - Нет - n/a - адреса e-mail для "слепой" копии. - Адреса разделяются запятыми. - - - subject - строка (string) - Нет - n/a - тема письма. - - - newsgroups - строка (string) - Нет - n/a - в какие конференции передовать. - конференции разделяются запятыми. - - - followupto - строка (string) - Нет - n/a - addresses to follow up to. - Адреса разделяются запятыми. - - - extra - строка (string) - Нет - n/a - Дополнительный аттрибуты, передаваемые в ссылку - такие как стили (style) - - - - - - пользовательская функция mailto автоматизирует создание ссылок - на e-mail адреса с возможностью кодирования их. Кодирование - усложняет работу web-пауков, которые собирают e-mail адреса - с вашего сайта. - - - Техническое Замечание - - javascript - скорее всего наиболее полная форма кодирования, - хотя вы так же можете использовать шестнадцатиричное - кодирование. - - - -mailto - -{mailto address="me@domain.com"} -{mailto address="me@domain.com" text="send me some mail"} -{mailto address="me@domain.com" encode="javascript"} -{mailto address="me@domain.com" encode="hex"} -{mailto address="me@domain.com" subject="Hello to you!"} -{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} -{mailto address="me@domain.com" extra='class="email"'} - -OUTPUT: - -<a href="mailto:me@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" >send me some mail</a> -<SCRIPT language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 -9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% -61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e -%27%29%3b'))</SCRIPT> -<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >&#x6d;&#x65;&#x40;&#x64;& -#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x2e;&#x63;&#x6f;&#x6d;</a> -<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> -<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> -<a href="mailto:me@domain.com" class="email">me@domain.com</a> - - - - popup_init - - функция popup реализует интеграцию с библиотекой overLib, которая - используется для создания высплывающих окон. Они могут использоваться - для вывода контекстно-зависимой информации, такой как контекстная - помощь или высплывающие подсказки. функция popup_init должна быть - вызвана один раз в начале страницы, где планируется вызов функции - popup. Библиотеку - overLib написал Эрик Босрап (Erik Bosrup). Домашняя страница расположена - по адресу http://www.bosrup.com/web/overlib/. - - - Начиная со Smarty версии 2.1.2, библиотека overLib не включается - в релиз. Скачайте библиотеку overLib, поместите файл overlib.js - в корень документов (DOCUMENT_ROOT) или глубже. При вызове функции - popup_init передайте относительный путь к этому файлу в качестве - параметра src. - - -popup_init - -{* popup_init должен быть вызван один раз в начале страницы *} -{popup_init src="/javascripts/overlib.js"} - - - - popup - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - text - строка (string) - Да - n/a - HTML код (текст), который будет выводиться - в высплывающем окне. - - - trigger - строка (string) - Нет - onMouseOver - Способ вызова окна. Может быть либо - onMouseOver, либо onClick - - - sticky - логический (boolean) - Нет - false - Makes the popup stick around until closed - - - caption - строка (string) - Нет - n/a - устанавливает заголовок - - - fgcolor - строка (string) - Нет - n/a - цвет внутри окна - - - bgcolor - строка (string) - Нет - n/a - цвет границы окна - - - textcolor - строка (string) - Нет - n/a - цвет текста в окне - - - capcolor - строка (string) - Нет - n/a - цвет заголовка окна - - - closecolor - строка (string) - Нет - n/a - цвет текста текста "Close" (Закрыть) - - - textfont - строка (string) - Нет - n/a - шрифт текста в окне - - - captionfont - строка (string) - Нет - n/a - шрифт заголовка окна - - - closefont - строка (string) - Нет - n/a - шрифт текста "Close" (Закрыть) - - - textsize - строка (string) - Нет - n/a - размер шрифта в окне - - - captionsize - строка (string) - Нет - n/a - размер шрифта заголовка - - - closesize - строка (string) - Нет - n/a - размер шрифта текста "Close" (Закрыть) - - - width - целое (integer) - Нет - n/a - ширина окна - - - height - целое (integer) - Нет - n/a - высота окна - - - left - логический (boolean) - Нет - false - создавать окно слева от курсора мыши - - - right - логический (boolean) - Нет - false - создавать окно справа от курсора мыши - - - center - логический (boolean) - Нет - false - создавать окно на месте мыши - - - above - логический (boolean) - Нет - false - создает окно выше курсора мыши. ЗАМЕЧАНИЕ: возможно - только если указан аттрибут height - - - below - логический (boolean) - Нет - false - создает окно под курсором мыши - - - border - целое (integer) - Нет - n/a - толщина границы окна - - - offsetx - целое (integer) - Нет - n/a - горизонтальное смещение окна от курсора мыши. - - - offsety - целое (integer) - Нет - n/a - вертикальное смещение окна от курсора мыши - - - fgbackground - url to image - Нет - n/a - определяет фоновое изображение текста, - вместо fgcolor. - - - bgbackground - url to image - Нет - n/a - определяет фоновое изображение для границ окна, - вместо bgcolor. ЗАМЕЧАНИЕ: Может понадобиться установить - bgcolor в "" или будет показан цвет, а не зиображение. - ЗАМЕЧАНИЕ: При наличии ссылки "Close" Netscape перерисовывает - ячейки таблицы, что приводит к некоректному отображению. - - - closetext - строка (string) - Нет - n/a - устанвливает текст вместо "Close" - - - noclose - логический (boolean) - Нет - n/a - не отображать текст "Close" - - - status - строка (string) - Нет - n/a - установить значение строки статуса в браузере - - - autostatus - логический (boolean) - Нет - n/a - установить значение строки статуса в браузере - в текст окна. ЗАМЕЧАНИЕ: отменяет значение status - - - autostatuscap - строка (string) - Нет - n/a - установить значение строки статуса в браузере - в текст заголовка. ЗАМЕЧАНИЕ: отменяет начение autostatus - - - inarray - целое (integer) - Нет - n/a - указывает, что текст окна следует взять из указанного - элемента массива ol_text, расположенного в overlib.js. Этот - параметр может использоваться вместо text - - - caparray - целое (integer) - Нет - n/a - указывает, что заголовок окна следует взять из - указанного элемента массива ol_caps - - - capicon - url - Нет - n/a - выводит изображение перед заголовком окна. - - - snapx - целое (integer) - Нет - n/a - ровняет окно к горизонтальной сетке - - - snapy - целое (integer) - Нет - n/a - ровняет окно к вертикальной сетке - - - fixx - целое (integer) - Нет - n/a - закрепляет горизонтальное положение окна. - Замечание: отменяет все остальные параметры - горизонтального положения - - - fixy - целое (integer) - Нет - n/a - закрепляет вертикалнное положение окна. - Замечание: отменяет все остальные параметры - вертикального положения - - - background - url - Нет - n/a - указывает фоновое изображение окна - - - padx - integer,integer - Нет - n/a - дополняет фоновое изображение горизонтальными - отступами к тексту. Обратите внимание: этот параметр - принимает два значения - - - pady - integer,integer - Нет - n/a - дополняет фоновое изображение вертикальными - отступами к тексту. Обратите внимание: этот параметр - принимает два значения - - - fullhtml - логический (boolean) - Нет - n/a - Позволяет полностью контролировать HMTL над - фоновым изображением. HTML код ожидается в - параметре text - - - frame - строка (string) - Нет - n/a - Контролировать высплывающие окна в различных - фрэймах. См. сайт overlib для дополнительной информации - по этой функции - - - timeout - строка (string) - Нет - n/a - вызывает цказанную javascript функцию и - использует результат как текст окна - - - delay - целое (integer) - Нет - n/a - врремя жизни окна в милисекундах. Позволяет - реализовывать высплываюющие подсказки. - - - hauto - логический (boolean) - Нет - n/a - автоматическое опредление горизонтального - местоположения окна относительно мыши. - - - vauto - логический (boolean) - Нет - n/a - автоматическое опредление вертикального - местоположения окна относительно мыши. - - - - - - функция popup используеться для генерации javascript кода, - который создаст высплывающее окно. - - -popup - -{* popup_init должен быть вызван один раз в начале страницы *} -{popup_init src="/javascripts/overlib.js"} - -{* создаем ссылку с всплывающим окном, которое появляеться при наведении мыши *} -<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> - -{* можно использовать html, ссылки и т.п. в высплывающем окне *} -<A href="mypage.html" {popup sticky=true caption="mypage contents" -text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> - -OUTPUT: - -(Посетите официальный сайт Smarty для рабочих прммеров.) - - - - textformat - - - - - - - - - - Имя аттрибута - Тип - Обязателен - По умолчанию - Описание - - - - - style - строка (string) - Нет - n/a - предустановленный стиль - - - indent - number - Нет - 0 - отступ строки - - - indent_first - number - Нет - 0 - отступ первой строки - - - indent_char - строка (string) - Нет - (single space) - символ, которым заполняеться отступ строк. - - - wrap - number - Нет - 80 - количество символов в строке - - - wrap_char - строка (string) - Нет - \n - текст, разделяющий каждую строку - - - wrap_cut - логический (boolean) - Нет - false - Переносить текст по символам (то есть точно - по указанной длине строки) (true), или по - границам слов (false) - - - assign - строка (string) - Нет - n/a - переменная шаблона, которой будет присвоен вывод - - - - - - функция textformat используеться для форматирования текст, - заключенного внтури ее. В основном убирает лишние пробелы и - специальные символы, а так же форматирует абзацы, делает отступы, - переносит слова. - - - Можно указывать параметры явно, или использовать предустановленные стили. - На данный момент существует только стиль "email". - - -textformat - -{textformat wrap=40} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - -This is foo. This is foo. This is foo. -This is foo. This is foo. This is foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo -foo. bar foo bar foo foo. bar foo bar -foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. - - -{textformat wrap=40 indent=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - - This is foo. This is foo. This is - foo. This is foo. This is foo. This - is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. bar foo bar foo foo. - bar foo bar foo foo. bar foo bar - foo foo. - -{textformat wrap=40 indent=4 indent_first=4} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - - This is foo. This is foo. This - is foo. This is foo. This is foo. - This is foo. - - This is bar. - - bar foo bar foo foo. bar foo bar - foo foo. bar foo bar foo foo. bar - foo bar foo foo. bar foo bar foo - foo. bar foo bar foo foo. bar foo - bar foo foo. - -{textformat style="email"} - -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. -This is foo. - -This is bar. - -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. -bar foo bar foo foo. - -{/textformat} - -OUTPUT: - -This is foo. This is foo. This is foo. This is foo. This is foo. This is -foo. - -This is bar. - -bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo -bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo -foo. - - - - +&designers.language-custom-functions.language-function-assign; +&designers.language-custom-functions.language-function-counter; +&designers.language-custom-functions.language-function-cycle; +&designers.language-custom-functions.language-function-debug; +&designers.language-custom-functions.language-function-eval; +&designers.language-custom-functions.language-function-fetch; +&designers.language-custom-functions.language-function-html-checkboxes; +&designers.language-custom-functions.language-function-html-image; +&designers.language-custom-functions.language-function-html-options; +&designers.language-custom-functions.language-function-html-radios; +&designers.language-custom-functions.language-function-html-select-date; +&designers.language-custom-functions.language-function-html-select-time; +&designers.language-custom-functions.language-function-html-table; +&designers.language-custom-functions.language-function-math; +&designers.language-custom-functions.language-function-mailto; +&designers.language-custom-functions.language-function-popup-init; +&designers.language-custom-functions.language-function-popup; +&designers.language-custom-functions.language-function-textformat; + + assign + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + var + строка (string) + Да + n/a + Имя переменной, значение которой будет + устанавливаться + + + value + строка (string) + Да + n/a + Устанавливаемое значение + + + + + + assign используется для установки значения переменной в + процессе выполнения шаблона. + + +assign + +{assign var="name" value="Bob"} + +Значение $name - {$name}. + +OUTPUT: + +Значение $name - Bob. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-counter.xml b/docs/ru/designers/language-custom-functions/language-function-counter.xml new file mode 100644 index 00000000..adb59448 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-counter.xml @@ -0,0 +1,118 @@ + + + + counter + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Нет + default + Имя счетчика + + + start + number + Нет + 1 + Начальное значение счетчика + + + skip + number + Нет + 1 + Шаг счетчика + + + direction + строка (string) + Нет + up + Направление (вверх - up/вниз - down) + + + print + логический (boolean) + Нет + true + выводить значение счетчика или нет + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет присвоен + вывод + + + + + + counter используется для управления счетчиком. counter запоминает + количество итераций. Можно регулировать начало, интервал и + направление отсчета, а также указать, выводить ил значение + счетчика или нет. Можно запустить несколько счетчиков одновременно, + указав уникальное имя для каждого. Если имя счетчика не указано, + будет использовано по умолчанию 'default'. + + + Если указан аттрибут "assign", то вывод тэга counter будет присвоен + переменной шаблона, вместо отображения. + + +counter + +{* инициализируем счетчик *} +{counter start=0 skip=2 print=false} + +{counter}<br> +{counter}<br> +{counter}<br> +{counter}<br> + +OUTPUT: + +2<br> +4<br> +6<br> +8<br> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-cycle.xml b/docs/ru/designers/language-custom-functions/language-function-cycle.xml new file mode 100644 index 00000000..995de882 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-cycle.xml @@ -0,0 +1,134 @@ + + + + cycle + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Нет + default + Название цикла + + + values + mixed + Да + N/A + Значения, по которым будет производиться цикл. + Либо список, разделеный запятыми (либо другим указанным + разделителем), либо массив значений. + + + print + логический (boolean) + Нет + true + Выводить значение, или нет + + + advance + логический (boolean) + Нет + true + Переключаться или нет на следующее значение + + + delimiter + строка (string) + Нет + , + Разделитель, используемый в аттрибуте values. + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет присвоен вывод тэга + + + + + + Cycle используется для прохода через множество значений. + С его помощью можно легко реализовать переключение между + двумя и более цветами в таблице, или пройти цикл через + массив. + + + Можно проходить через несколько множеств значений одновременно, + указав аттрибут name. Имена должны быть уникальными. + + + Можно не отображать данный элемент, установив аттрибут print в + ложь (false). Удобно для пропуска значения, без его вывода. + + + Аттрибут advance используется для повтора значения. Если + установлен в истина (true), то при следующем вызове cycle + будет выведено то же значение. + + + Если указан специальный аттрибут "assign", то вывод cycle + присваивается переменной, вместо отображения. + + +cycle + +{section name=rows loop=$data} +<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> + <td>{$data[rows]}</td> +</tr> +{/section} + +OUTPUT: + +<tr bgcolor="#eeeeee"> + <td>1</td> +</tr> +<tr bgcolor="#d0d0d0"> + <td>2</td> +</tr> +<tr bgcolor="#eeeeee"> + <td>3</td> +</tr> + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-debug.xml b/docs/ru/designers/language-custom-functions/language-function-debug.xml new file mode 100644 index 00000000..079cafc1 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-debug.xml @@ -0,0 +1,60 @@ + + + + debug + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + output + строка (string) + Нет + html + Тип вывода (html или javascript) + + + + + + {debug} выводит консоль отладки. Это работает независимо от + значения опции debug. + Так как этот тэг обрабатывается в процесе выполнения, то возможно + вывести только присвоенные переменные, но не используемые шаблоны. + Но вы видите все переменные, доступные в области видимости текущего + шаблона. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-eval.xml b/docs/ru/designers/language-custom-functions/language-function-eval.xml new file mode 100644 index 00000000..07341a16 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-eval.xml @@ -0,0 +1,117 @@ + + + + eval + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + var + mixed + Да + n/a + Переменная (или строка) для обработки + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет присвоен вывод + + + + + + eval используется для обработки переменной, как шаблона. Можно + использовать для таких вещей, как хранение шаблонных + тэгов/переменных в переменной или в файлах конфигруации. + + + Если указан специальный аттрибут "assign", то вывод тэга eval + присваивается переменной, вместо отображения. + + + Техническое Замечание + + Переменные шаблоны обрабатываются так же, как и обычные шаблоны. + Они подвластны тем же правилам и ограничениям безопасности. + + + + Техническое Замечание + + Переменные шаблоны компилируются при каждоv обращении. + Откомпилированные версии не сохраняются! Однако, если + кэширование включено, то вывод будет закэширован с + остальной частью шаблона. + + + +eval + +setup.conf +---------- + +emphstart = <b> +emphend = </b> +title = Welcome to {$company}'s home page! +ErrorCity = You must supply a {#emphstart#}city{#emphend#}. +ErrorState = You must supply a {#emphstart#}state{#emphend#}. + + +index.tpl +--------- + +{config_load file="setup.conf"} + +{eval var=$foo} +{eval var=#title#} +{eval var=#ErrorCity#} +{eval var=#ErrorState# assign="state_error"} +{$state_error} + +OUTPUT: + +This is the contents of foo. +Welcome to Foobar Pub & Grill's home page! +You must supply a <b>city</b>. +You must supply a <b>state</b>. + + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-fetch.xml b/docs/ru/designers/language-custom-functions/language-function-fetch.xml new file mode 100644 index 00000000..d7ce1e65 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-fetch.xml @@ -0,0 +1,105 @@ + + + + fetch + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + файл, http или ftp сайт для отображния + + + assign + строка (string) + Нет + n/a + Имя переменной, которой будет присвоен вывод + + + + + + fetch используется для отображения локальных файлов, http или ftp + страниц. Есил файл начинается с "http://", то вебстраница будет + получена и выведена. Если файл начинается с "ftp://", то файл будет + получен с ftp сервера и выведен. Для локальных файлов должен быть + указан либо абсолютный путь, либо путь относительно выполняемого + php файла. + + + Если указать специалньый аттрибут "assign", то вывод функции fetch + будет присвоен переменной вместо отображения. Добавлено в + Smarty версии 1.5.0. + + + Техническое Замечание + + HTTP переадресация не поддерживается. Убедитесь, что указываете + завершающие слэши, где это необходимо. + + + + Техническое Замечание + + Если включена security и указан файл из локальной файловой + системы, то отобразятся лишь файлы, который находятся в + указаных безопасных папках ($secure_dir). + + + +fetch + +{* включаем javascript в шаблон *} +{fetch file="/export/httpd/www.domain.com/docs/navbar.js"} + +{* Добавляем немного прогноза погоды с сервера погоды *} +{fetch file="http://www.myweather.com/68502/"} + +{* новостную ленту берем с ftp сервера *} +{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"} + +{* присваиваем полученный файл переменной *} +{fetch file="http://www.myweather.com/68502/" assign="weather"} +{if $weather ne ""} + <b>{$weather}</b> +{/if} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/ru/designers/language-custom-functions/language-function-html-checkboxes.xml new file mode 100644 index 00000000..5d3f40c6 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-checkboxes.xml @@ -0,0 +1,140 @@ + + + + html_checkboxes + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Нет + checkbox + название списка флажков + + + values + массив + Да, если не указан аттрибут options + n/a + Массив значений для флажков + + + output + массив + Да, если не указан аттрибут options + n/a + массив названий флажков + + + checked + строка (string) + Нет + пусто + выбранный флажок + + + options + ассоциативный массив + Да, если не указаны аттрибуты values и output + n/a + Ассоциативнй массив значений и названий + + + separator + строка (string) + Нет + пусто + строка разделяющая каждый флажок + + + + + + Пользовательская функция html_checkboxes генерирует группу + HTML фложков по указанной информации. Также заботится об + флажках, которые выбраны по умолчанию. параметры vslues и output + обязательны, если не указан аттрибут options. Весь вывод + совместим с XHTML. + + + Все параметры, которые не указаны в списке выводятся в виде + пар name/value в каждом созданном тэге <input>. + + +html_checkboxes + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_checkboxes', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson','Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"} + + +OUTPUT: (both examples) + +<input type="checkbox" name="id[]" value="1000">Joe Schmoe<br /> +<input type="checkbox" name="id[]" value="1001" checked="checked"><br /> +<input type="checkbox" name="id[]" value="1002">Jane Johnson<br /> +<input type="checkbox" name="id[]" value="1003">Charlie Brown<br /> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-image.xml b/docs/ru/designers/language-custom-functions/language-function-html-image.xml new file mode 100644 index 00000000..5fa49b28 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-image.xml @@ -0,0 +1,135 @@ + + + + html_image + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + file + строка (string) + Да + n/a + название/путь к изображению + + + border + строка (string) + Нет + 0 + размер рамки вокруг изображения + + + height + строка (string) + Нет + реальная высота изображения + высота изображения + + + width + строка (string) + Нет + реальная ширина изображения + ширина изображения + + + basedir + строка (string) + Нет + корень веб сервера + папка, от которой указаны относительные пути + + + link + строка (string) + Нет + n/a + значение href, куда ссылается картинка + + + + + + Пользовательская функция html_image генерирует HTML для изображения. + Ширина и высота автоматически вычисляются из файла изображения, если + не указаны явно. + + + basedir - базовая папка для относительных путей. Если не указана, + то используется корень веб сервер (переменная окружени DOCUMENT_ROOT). + Если security включено, то путь к изображения должен быть в пределах + безопасных папок. + + + Аттрибут link указывает, куда ссылается изображение. Аттрибут + link устанавливает значение аттрибута href тэга А. Если указан + аттрибут link, то изображение окружается выражениями <a + href="LINKVALUE"> и <a>. + + + Техническое Замечание + + html_image требует обращение к диску lzk чтения изображения + и вычисления его размеров. Если не используется кэширование + шаблонов, то тогда лушче не пользоваться тэгом html_image + и вставлять статические тэги изображений, для достижения + оптимального быстродействия. + + + +html_image + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->display('index.tpl'); + +index.tpl: + +{html_image file="pumpkin.jpg"} +{html_image file="/path/from/docroot/pumpkin.jpg"} +{html_image file="../path/relative/to/currdir/pumpkin.jpg"} + +OUTPUT: (possible) + +<img src="pumpkin.jpg" border="0" width="44" height="68"> +<img src="/path/under/docroot/pumpkin.jpg" border="0" width="44" height="68"> +<img src="../path/relative/to/currdir/pumpkin.jpg" border="0" width="44" height="68"> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-options.xml b/docs/ru/designers/language-custom-functions/language-function-html-options.xml new file mode 100644 index 00000000..981e67d7 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-options.xml @@ -0,0 +1,150 @@ + + + + html_options + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + values + массив + Да, если не указан аттрибут options + n/a + массив значений для выпадающего списка + + + output + массив + Да, если не указан аттрибут options + n/a + массив названий для выпадающего списка + + + selected + string/array + Нет + пусто + Выбранный элемент(ы) + + + options + ассоциативный массив + Да, если не указаны аттрибуты values и output + n/a + ассоциативный массив значений и названий + + + name + строка (string) + Нет + пусто + Название выпадающего списка + + + + + + пользовательская функция html_options генерирует группу html тэгов + option по указанной информации. Также заботится о выбранных по + умолчанию элементах. Аттрибуты values и output обязательны, если не + указан аттрибут options. + + + Если данное значение - массив, то оно будет представлено в виде + html OPTGROUP. Рекурсия с OPTGROUP поддерживается. Весь вывод + совместим с XHTML. + + + Если указан необязательный аттрибут name, + то группа опций заключится в тэг <select + name="groupname"> и </select>, иначе сгенерируется только + группа опций. + + + Все параметры, которые не указаны выше, выводятся в виде + пары name/value внутри тэга <select>-tag. Они игнорируются, + если аттрибут name не указан. + + +html_options + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options values=$cust_ids selected=$customer_id output=$cust_names} +</select> + + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_options', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + +index.tpl: + +<select name=customer_id> + {html_options options=$cust_options selected=$customer_id} +</select> + + +OUTPUT: (both examples) + +<select name=customer_id> + <option value="1000">Joe Schmoe</option> + <option value="1001" selected="selected">Jack Smith</option> + <option value="1002">Jane Johnson</option> + <option value="1003">Charlie Brown</option> +</select> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-radios.xml b/docs/ru/designers/language-custom-functions/language-function-html-radios.xml new file mode 100644 index 00000000..8ae32eeb --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-radios.xml @@ -0,0 +1,144 @@ + + + + html_radios + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + name + строка (string) + Нет + radio + название элементов выбора + + + values + массив + Да, если не указан аттрибут options + n/a + массив значений элементов выбора + + + output + массив + Да, если не указан аттрибут options + n/a + массив названий элементов выбора + + + checked + строка (string) + Нет + пусто + Значение выбранного элемента + + + options + ассоциативный массив + Да, если не указаны аттрибуты values и output + n/a + ассоциативный массив значений и названий + элементов выбора + + + separator + строка (string) + Нет + пусто + текст, разделяющий элементы выбора + + + + + + Пользовательсякая функция html_radios генерирует HMTL код + группы элементов выбора (radio button group). Автоматически + устанавливает выбранное значение, если оно укзано. Требует + наличия аттрибутов values и output или аттрибута options. + Сгенерированный HMTL код совместим с XHTML. + + + Все параметры, которые не указаны в таблице выше, передаются + и выводятся внутри каждого созданного тэга <input>. + + + +html_radios + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_ids', array(1000,1001,1002,1003)); +$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane +Johnson','Carlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"} + + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('cust_radios', array( + 1001 => 'Joe Schmoe', + 1002 => 'Jack Smith', + 1003 => 'Jane Johnson', + 1004 => 'Charlie Brown')); +$smarty->assign('customer_id', 1001); +$smarty->display('index.tpl'); + + +index.tpl: + +{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"} + + +OUTPUT: (both examples) + +<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> +<input type="radio" name="id[]" value="1001" checked="checked"><br /> +<input type="radio" name="id[]" value="1002">Jane Johnson<br /> +<input type="radio" name="id[]" value="1003">Charlie Brown<br /> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-select-date.xml b/docs/ru/designers/language-custom-functions/language-function-html-select-date.xml new file mode 100644 index 00000000..06c69ff2 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-select-date.xml @@ -0,0 +1,318 @@ + + + + html_select_date + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + prefix + строка (string) + Нет + Date_ + префикс названий переменных + + + time + timestamp/ГГГГ-ММ-ДД + Нет + текущее время в формате unix timestamp + или ГГГГ-ММ-ДД + используемое время + + + start_year + строка (string) + Нет + текущий год + Начальный год в выпадающем спииске. Либо указывается + явно, либо относительно текущего года (+/- N) + + + end_year + строка (string) + Нет + аналогично start_year + Конечный год в вырадающем списке. Либо указывается + явно, либо относительно текущего года (+/- N) + + + display_days + логический (boolean) + Нет + true + выводить ли список дней + + + display_months + логический (boolean) + Нет + true + выводить ли список месяцев + + + display_years + логический (boolean) + Нет + true + выводить ли список лет + + + month_format + строка (string) + Нет + %B + Формат названия месяцев (strftime) + + + day_format + строка (string) + Нет + %02d + формат названия дней (sprintf) + + + day_value_format + строка (string) + Нет + %d + формат значения дней (sprintf) + + + year_as_text + логический (boolean) + Нет + false + Выводить ли значение года текстом + + + reverse_years + логический (boolean) + Нет + false + Выводить года в обратном порядке + + + field_array + строка (string) + Нет + null + название переменной (name), которая будет + содержать выбранные значения в виде массива: + name[Day], name[Year], name[Month]. + + + + day_size + строка (string) + Нет + null + Устанавливает аттрибут size тэга select + для дней + + + month_size + строка (string) + Нет + null + Устанавливает аттрибут size тэга select + для месяцев + + + year_size + строка (string) + Нет + null + Устанавливает аттрибут size тэга select + для лет + + + all_extra + строка (string) + Нет + null + Устанавливает дополнительные аттрибуты для + всех тэгов select/input + + + day_extra + строка (string) + Нет + null + Устанавливает дополнительные аттрибуты тэгов + select/input для дней + + + month_extra + строка (string) + Нет + null + Устанавливает дополнительные аттрибуты тэгов + select/input для месяцев + + + year_extra + строка (string) + Нет + null + Устанавливает дополнительные аттрибуты тэгов + select/input для лет + + + field_order + строка (string) + Нет + MDY + Порядок следования полей (МДГ) + + + field_separator + строка (string) + Нет + \n + текст, раздляющий поля + + + month_value_format + строка (string) + Нет + %m + формат значения месяца (strftime). + По умолчанию - %m (номер месяца). + + + + + + пользовательская функция html_select_date генерирует поля выбора + даты. + + +html_select_date + +{html_select_date} + + +OUTPUT: + +<select name="Date_Month"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="Date_Day"> +<option value="1">01</option> +<option value="2">02</option> +<option value="3">03</option> +<option value="4">04</option> +<option value="5">05</option> +<option value="6">06</option> +<option value="7">07</option> +<option value="8">08</option> +<option value="9">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13" selected>13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select> +<select name="Date_Year"> +<option value="2001" selected>2001</option> +</select> + + + + +html_select_date + + +{* start and end year can be relative to current year *} +{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false} + +OUTPUT: (current year is 2000) + +<select name="StartDateMonth"> +<option value="1">January</option> +<option value="2">February</option> +<option value="3">March</option> +<option value="4">April</option> +<option value="5">May</option> +<option value="6">June</option> +<option value="7">July</option> +<option value="8">August</option> +<option value="9">September</option> +<option value="10">October</option> +<option value="11">November</option> +<option value="12" selected>December</option> +</select> +<select name="StartDateYear"> +<option value="1999">1995</option> +<option value="1999">1996</option> +<option value="1999">1997</option> +<option value="1999">1998</option> +<option value="1999">1999</option> +<option value="2000" selected>2000</option> +<option value="2001">2001</option> +</select> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-select-time.xml b/docs/ru/designers/language-custom-functions/language-function-html-select-time.xml new file mode 100644 index 00000000..b6352331 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-select-time.xml @@ -0,0 +1,323 @@ + + + + html_select_time + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + prefix + строка (string) + Нет + Time_ + префикс названий переменных + + + time + timestamp + Нет + текущее время + используемое время + + + display_hours + логический (boolean) + Нет + true + выводить часы + + + display_minutes + логический (boolean) + Нет + true + выводить минуты + + + display_seconds + логический (boolean) + Нет + true + выводить секунды + + + display_meridian + логический (boolean) + Нет + true + выводить меридиан (am/pm) + + + use_24_hours + логический (boolean) + Нет + true + использовать 24-часовой формат времени + + + minute_interval + целое (integer) + Нет + 1 + интервал элементов выпадающего списка минут + + + second_interval + целое (integer) + Нет + 1 + интервал элементов выпадающего списка секунд + + + field_array + строка (string) + Нет + n/a + название переменной, в которую передадутся + выбранные значения в виде массива. + + + all_extra + строка (string) + Нет + null + указывает дополнительные аттрибуты для + всех тэгов select/input + + + hour_extra + строка (string) + Нет + null + указывает дополнительные аттрибуты для + тэгов select/input для выбора часов + + + minute_extra + строка (string) + Нет + null + указывает дополнительные аттрибуты для + тэгов select/input для выбора минут + + + second_extra + строка (string) + Нет + null + указывает дополнительные аттрибуты для + тэгов select/input для выбора секунд + + + meridian_extra + строка (string) + Нет + null + указывает дополнительные аттрибуты для + тэгов select/input для выбора меридиан + + + + + + пользовательская функция html_select_time генерирует HTML поля + выбора времени. + + +html_select_time + +{html_select_time use_24_hours=true} + + +OUTPUT: + +<select name="Time_Hour"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09" selected>09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +</select> +<select name="Time_Minute"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20" selected>20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Second"> +<option value="00">00</option> +<option value="01">01</option> +<option value="02">02</option> +<option value="03">03</option> +<option value="04">04</option> +<option value="05">05</option> +<option value="06">06</option> +<option value="07">07</option> +<option value="08">08</option> +<option value="09">09</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23" selected>23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +<option value="32">32</option> +<option value="33">33</option> +<option value="34">34</option> +<option value="35">35</option> +<option value="36">36</option> +<option value="37">37</option> +<option value="38">38</option> +<option value="39">39</option> +<option value="40">40</option> +<option value="41">41</option> +<option value="42">42</option> +<option value="43">43</option> +<option value="44">44</option> +<option value="45">45</option> +<option value="46">46</option> +<option value="47">47</option> +<option value="48">48</option> +<option value="49">49</option> +<option value="50">50</option> +<option value="51">51</option> +<option value="52">52</option> +<option value="53">53</option> +<option value="54">54</option> +<option value="55">55</option> +<option value="56">56</option> +<option value="57">57</option> +<option value="58">58</option> +<option value="59">59</option> +</select> +<select name="Time_Meridian"> +<option value="am" selected>AM</option> +<option value="pm">PM</option> +</select> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-html-table.xml b/docs/ru/designers/language-custom-functions/language-function-html-table.xml new file mode 100644 index 00000000..c87c9bda --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-html-table.xml @@ -0,0 +1,136 @@ + + + + html_table + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + loop + массив + Да + n/a + массив данных, по которому будет произведен обход + + + cols + целое (integer) + Нет + 3 + количество колонок таблицы + + + table_attr + строка (string) + Нет + border="1" + дополнительные аттрибуты тэга table + + + tr_attr + строка (string) + Нет + пусто + дополнительные аттрибуты тэга tr (если указан + массив, то его элементы циклически повторяються) + + + td_attr + строка (string) + Нет + пусто + дополнительные аттрибуты тэга td (если указан + массив, то его элементы циклически повторяються) + + + trailpad + строка (string) + Нет + &nbsp; + значение остаточных ячеек на последней + строке табилцы + + + + + + Пользовательская функция html_table выводит + массив в виде HTML таблицы. Аттрибут cols + указывает количество колонок. Аттрибуты table_attr, + tr_attr и td_attr указывают + дополнительные аттрибуты тэго table, tr и td. Если значение + tr_attr или td_attr - массив, + то кго значения циклический повторяются. Атрибут + trailpad устанавливает значения для остаточных + ячеек на послденей строке таблицы. + + +html_table + +index.php: + +require('Smarty.php.class'); +$smarty = new Smarty; +$smarty->assign('data',array(1,2,3,4,5,6,7,8,9)); +$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"')); +$smarty->display('index.tpl'); + +index.tpl: + +{html_table loop=$data} +{html_table loop=$data cols=4 table_attr='border="0"'} +{html_table loop=$data cols=4 tr_attr=$tr} + +OUTPUT: + +<table border="1"> +<tr><td>1</td><td>2</td><td>3</td></tr> +<tr><td>4</td><td>5</td><td>6</td></tr> +<tr><td>7</td><td>8</td><td>9</td></tr> +</table> +<table border="0"> +<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> +<table border="1"> +<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr> +<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr> +<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> +</table> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-mailto.xml b/docs/ru/designers/language-custom-functions/language-function-mailto.xml new file mode 100644 index 00000000..e17eb9cd --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-mailto.xml @@ -0,0 +1,155 @@ + + + + mailto + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + address + строка (string) + Да + n/a + адрес e-mail + + + text + строка (string) + Нет + n/a + название ссылки. По умолчанию: + адрес e-mail + + + encode + строка (string) + Нет + none + Способ кодирования e-mail. + Может быть одним из none, + hex или javascript. + + + cc + строка (string) + Нет + n/a + адреса e-mail для точной копии. + Адреса разделяются запятыми. + + + bcc + строка (string) + Нет + n/a + адреса e-mail для "слепой" копии. + Адреса разделяются запятыми. + + + subject + строка (string) + Нет + n/a + тема письма. + + + newsgroups + строка (string) + Нет + n/a + в какие конференции передовать. + конференции разделяются запятыми. + + + followupto + строка (string) + Нет + n/a + addresses to follow up to. + Адреса разделяются запятыми. + + + extra + строка (string) + Нет + n/a + Дополнительный аттрибуты, передаваемые в ссылку + такие как стили (style) + + + + + + пользовательская функция mailto автоматизирует создание ссылок + на e-mail адреса с возможностью кодирования их. Кодирование + усложняет работу web-пауков, которые собирают e-mail адреса + с вашего сайта. + + + Техническое Замечание + + javascript - скорее всего наиболее полная форма кодирования, + хотя вы так же можете использовать шестнадцатиричное + кодирование. + + + +mailto + +{mailto address="me@domain.com"} +{mailto address="me@domain.com" text="send me some mail"} +{mailto address="me@domain.com" encode="javascript"} +{mailto address="me@domain.com" encode="hex"} +{mailto address="me@domain.com" subject="Hello to you!"} +{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"} +{mailto address="me@domain.com" extra='class="email"'} + +OUTPUT: + +<a href="mailto:me@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" >send me some mail</a> +<SCRIPT language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6 +9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d% +61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e +%27%29%3b'))</SCRIPT> +<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >&#x6d;&#x65;&#x40;&#x64;& +#x6f;&#x6d;&#x61;&#x69;&#x6e;&#x2e;&#x63;&#x6f;&#x6d;</a> +<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a> +<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a> +<a href="mailto:me@domain.com" class="email">me@domain.com</a> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-math.xml b/docs/ru/designers/language-custom-functions/language-function-math.xml new file mode 100644 index 00000000..c2d3ea91 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-math.xml @@ -0,0 +1,148 @@ + + + + math + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + equation + строка (string) + Да + n/a + математической выражение + + + format + строка (string) + Нет + n/a + формат рузультата (sprintf) + + + var + numeric + Да + n/a + переменная выражения + + + assign + строка (string) + Нет + n/a + переменная шаблона, которой будет присвоен + вывод + + + [var ...] + numeric + Да + n/a + дополнительные переменные выражения + + + + + + пользовательская функция math позволяет дизайнерам шаблонов + вычислять математические выражения в шаблоне. Любая численная + переменная шаблона может быть использована в выражении. Переменные, + используемые в выражении, передаються в качестве параметров, + которые могут быть как и переменные шаблона, так и статические + щначения. Допустимые операторы: +, -, /, *, abs, ceil, cos, + exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, + srans и tan. Ознакомтесь с php документацией под данным функциям. + + + Если указан аттрибут "assign", то вывод будет присвоен переменной, + вместо отображения. + + + Техническое Замечание + + использование функции math значительно сказывается на + времени выполнения программы, так как реализована с помощью + php функции eval(). Выполнение математических операций в php + программе более эффективно, то есть следует везде, где возможно, + делать вычисления в программе и передавать результ в шаблон. + Следует также избегать повторяющегося вызова функции math + (например в циклах). + + + +math + +{* $height=4, $width=5 *} + +{math equation="x + y" x=$height y=$width} + +OUTPUT: + +9 + + +{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *} + +{math equation="height * width / division" + height=$row_height + width=$row_width + division=#col_div#} + +OUTPUT: + +100 + + +{* можно использовать скобки *} + +{math equation="(( x + y ) / z )" x=2 y=10 z=2} + +OUTPUT: + +6 + + +{* можно указать формат результата (sprintf) *} + +{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} + +OUTPUT: + +9.44 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-popup-init.xml b/docs/ru/designers/language-custom-functions/language-function-popup-init.xml new file mode 100644 index 00000000..8d0d16b2 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-popup-init.xml @@ -0,0 +1,48 @@ + + + + popup_init + + функция popup реализует интеграцию с библиотекой overLib, которая + используется для создания высплывающих окон. Они могут использоваться + для вывода контекстно-зависимой информации, такой как контекстная + помощь или высплывающие подсказки. функция popup_init должна быть + вызвана один раз в начале страницы, где планируется вызов функции + popup. Библиотеку + overLib написал Эрик Босрап (Erik Bosrup). Домашняя страница расположена + по адресу http://www.bosrup.com/web/overlib/. + + + Начиная со Smarty версии 2.1.2, библиотека overLib не включается + в релиз. Скачайте библиотеку overLib, поместите файл overlib.js + в корень документов (DOCUMENT_ROOT) или глубже. При вызове функции + popup_init передайте относительный путь к этому файлу в качестве + параметра src. + + +popup_init + +{* popup_init должен быть вызван один раз в начале страницы *} +{popup_init src="/javascripts/overlib.js"} + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-popup.xml b/docs/ru/designers/language-custom-functions/language-function-popup.xml new file mode 100644 index 00000000..bb14358c --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-popup.xml @@ -0,0 +1,431 @@ + + + + popup + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + text + строка (string) + Да + n/a + HTML код (текст), который будет выводиться + в высплывающем окне. + + + trigger + строка (string) + Нет + onMouseOver + Способ вызова окна. Может быть либо + onMouseOver, либо onClick + + + sticky + логический (boolean) + Нет + false + Makes the popup stick around until closed + + + caption + строка (string) + Нет + n/a + устанавливает заголовок + + + fgcolor + строка (string) + Нет + n/a + цвет внутри окна + + + bgcolor + строка (string) + Нет + n/a + цвет границы окна + + + textcolor + строка (string) + Нет + n/a + цвет текста в окне + + + capcolor + строка (string) + Нет + n/a + цвет заголовка окна + + + closecolor + строка (string) + Нет + n/a + цвет текста текста "Close" (Закрыть) + + + textfont + строка (string) + Нет + n/a + шрифт текста в окне + + + captionfont + строка (string) + Нет + n/a + шрифт заголовка окна + + + closefont + строка (string) + Нет + n/a + шрифт текста "Close" (Закрыть) + + + textsize + строка (string) + Нет + n/a + размер шрифта в окне + + + captionsize + строка (string) + Нет + n/a + размер шрифта заголовка + + + closesize + строка (string) + Нет + n/a + размер шрифта текста "Close" (Закрыть) + + + width + целое (integer) + Нет + n/a + ширина окна + + + height + целое (integer) + Нет + n/a + высота окна + + + left + логический (boolean) + Нет + false + создавать окно слева от курсора мыши + + + right + логический (boolean) + Нет + false + создавать окно справа от курсора мыши + + + center + логический (boolean) + Нет + false + создавать окно на месте мыши + + + above + логический (boolean) + Нет + false + создает окно выше курсора мыши. ЗАМЕЧАНИЕ: возможно + только если указан аттрибут height + + + below + логический (boolean) + Нет + false + создает окно под курсором мыши + + + border + целое (integer) + Нет + n/a + толщина границы окна + + + offsetx + целое (integer) + Нет + n/a + горизонтальное смещение окна от курсора мыши. + + + offsety + целое (integer) + Нет + n/a + вертикальное смещение окна от курсора мыши + + + fgbackground + url to image + Нет + n/a + определяет фоновое изображение текста, + вместо fgcolor. + + + bgbackground + url to image + Нет + n/a + определяет фоновое изображение для границ окна, + вместо bgcolor. ЗАМЕЧАНИЕ: Может понадобиться установить + bgcolor в "" или будет показан цвет, а не зиображение. + ЗАМЕЧАНИЕ: При наличии ссылки "Close" Netscape перерисовывает + ячейки таблицы, что приводит к некоректному отображению. + + + closetext + строка (string) + Нет + n/a + устанвливает текст вместо "Close" + + + noclose + логический (boolean) + Нет + n/a + не отображать текст "Close" + + + status + строка (string) + Нет + n/a + установить значение строки статуса в браузере + + + autostatus + логический (boolean) + Нет + n/a + установить значение строки статуса в браузере + в текст окна. ЗАМЕЧАНИЕ: отменяет значение status + + + autostatuscap + строка (string) + Нет + n/a + установить значение строки статуса в браузере + в текст заголовка. ЗАМЕЧАНИЕ: отменяет начение autostatus + + + inarray + целое (integer) + Нет + n/a + указывает, что текст окна следует взять из указанного + элемента массива ol_text, расположенного в overlib.js. Этот + параметр может использоваться вместо text + + + caparray + целое (integer) + Нет + n/a + указывает, что заголовок окна следует взять из + указанного элемента массива ol_caps + + + capicon + url + Нет + n/a + выводит изображение перед заголовком окна. + + + snapx + целое (integer) + Нет + n/a + ровняет окно к горизонтальной сетке + + + snapy + целое (integer) + Нет + n/a + ровняет окно к вертикальной сетке + + + fixx + целое (integer) + Нет + n/a + закрепляет горизонтальное положение окна. + Замечание: отменяет все остальные параметры + горизонтального положения + + + fixy + целое (integer) + Нет + n/a + закрепляет вертикалнное положение окна. + Замечание: отменяет все остальные параметры + вертикального положения + + + background + url + Нет + n/a + указывает фоновое изображение окна + + + padx + integer,integer + Нет + n/a + дополняет фоновое изображение горизонтальными + отступами к тексту. Обратите внимание: этот параметр + принимает два значения + + + pady + integer,integer + Нет + n/a + дополняет фоновое изображение вертикальными + отступами к тексту. Обратите внимание: этот параметр + принимает два значения + + + fullhtml + логический (boolean) + Нет + n/a + Позволяет полностью контролировать HMTL над + фоновым изображением. HTML код ожидается в + параметре text + + + frame + строка (string) + Нет + n/a + Контролировать высплывающие окна в различных + фрэймах. См. сайт overlib для дополнительной информации + по этой функции + + + timeout + строка (string) + Нет + n/a + вызывает цказанную javascript функцию и + использует результат как текст окна + + + delay + целое (integer) + Нет + n/a + врремя жизни окна в милисекундах. Позволяет + реализовывать высплываюющие подсказки. + + + hauto + логический (boolean) + Нет + n/a + автоматическое опредление горизонтального + местоположения окна относительно мыши. + + + vauto + логический (boolean) + Нет + n/a + автоматическое опредление вертикального + местоположения окна относительно мыши. + + + + + + функция popup используеться для генерации javascript кода, + который создаст высплывающее окно. + + +popup + +{* popup_init должен быть вызван один раз в начале страницы *} +{popup_init src="/javascripts/overlib.js"} + +{* создаем ссылку с всплывающим окном, которое появляеться при наведении мыши *} +<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A> + +{* можно использовать html, ссылки и т.п. в высплывающем окне *} +<A href="mypage.html" {popup sticky=true caption="mypage contents" +text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A> + +OUTPUT: + +(Посетите официальный сайт Smarty для рабочих прммеров.) + + + \ No newline at end of file diff --git a/docs/ru/designers/language-custom-functions/language-function-textformat.xml b/docs/ru/designers/language-custom-functions/language-function-textformat.xml new file mode 100644 index 00000000..2b885f54 --- /dev/null +++ b/docs/ru/designers/language-custom-functions/language-function-textformat.xml @@ -0,0 +1,254 @@ + + + + textformat + + + + + + + + + + Имя аттрибута + Тип + Обязателен + По умолчанию + Описание + + + + + style + строка (string) + Нет + n/a + предустановленный стиль + + + indent + number + Нет + 0 + отступ строки + + + indent_first + number + Нет + 0 + отступ первой строки + + + indent_char + строка (string) + Нет + (single space) + символ, которым заполняеться отступ строк. + + + wrap + number + Нет + 80 + количество символов в строке + + + wrap_char + строка (string) + Нет + \n + текст, разделяющий каждую строку + + + wrap_cut + логический (boolean) + Нет + false + Переносить текст по символам (то есть точно + по указанной длине строки) (true), или по + границам слов (false) + + + assign + строка (string) + Нет + n/a + переменная шаблона, которой будет присвоен вывод + + + + + + функция textformat используеться для форматирования текст, + заключенного внтури ее. В основном убирает лишние пробелы и + специальные символы, а так же форматирует абзацы, делает отступы, + переносит слова. + + + Можно указывать параметры явно, или использовать предустановленные стили. + На данный момент существует только стиль "email". + + +textformat + +{textformat wrap=40} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + +This is foo. This is foo. This is foo. +This is foo. This is foo. This is foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo +foo. bar foo bar foo foo. bar foo bar +foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. + + +{textformat wrap=40 indent=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + + This is foo. This is foo. This is + foo. This is foo. This is foo. This + is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. bar foo bar foo foo. + bar foo bar foo foo. bar foo bar + foo foo. + +{textformat wrap=40 indent=4 indent_first=4} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + + This is foo. This is foo. This + is foo. This is foo. This is foo. + This is foo. + + This is bar. + + bar foo bar foo foo. bar foo bar + foo foo. bar foo bar foo foo. bar + foo bar foo foo. bar foo bar foo + foo. bar foo bar foo foo. bar foo + bar foo foo. + +{textformat style="email"} + +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. +This is foo. + +This is bar. + +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. +bar foo bar foo foo. + +{/textformat} + +OUTPUT: + +This is foo. This is foo. This is foo. This is foo. This is foo. This is +foo. + +This is bar. + +bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo +bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo +foo. + + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers.xml b/docs/ru/designers/language-modifiers.xml index 8029839e..721e52fc 100644 --- a/docs/ru/designers/language-modifiers.xml +++ b/docs/ru/designers/language-modifiers.xml @@ -33,1094 +33,27 @@ Topic: {$topic|truncate:40:"..."} количество елементов в массиве $articleTitle. - - capitalize - - Первые буквы каждого слова преобразуются в заглавные. - - - capitalize - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|capitalize} - -OUTPUT: - -Police begin campaign to rundown jaywalkers. -Police Begin Campaign To Rundown Jaywalkers. - - - - count_characters - - Возвращает количество символов в строке. - - -count_characters - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_characters} - -OUTPUT: - -Cold Wave Linked to Temperatures. -32 - - - - cat - - - - - - - - - - Позиция параметра - Тип - Обязателен - cat - Описание - - - - - 1 - строка (string) - Нет - пусто - Данная строка добавляется к - модифицируемому значению. - - - - - - Данная строка добавляется к модифицируемому значению. - - -cat - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Psychics predict world didn't end"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|cat:" yesterday."} - -OUTPUT: - -Psychics predict world didn't end yesterday. - - - - count_paragraphs - - Возвращает количество абзацев в строке. - - -count_paragraphs - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins -Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_paragraphs} - -OUTPUT: - -War Dims Hope for Peace. Child's Death Ruins Couple's Holiday. - -Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation. -2 - - - - count_sentences - - Возвращает количество предложений. - - -count_sentences - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_sentences} - -OUTPUT: - -Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe. -2 - - - - count_words - - Возвращает количество слов. - - -count_words - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|count_words} - -OUTPUT: - -Dealers Will Hear Car Talk at Noon. -7 - - - - date_format - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Нет - %b %e, %Y - Формат вывода даты. - - - 2 - строка (string) - Нет - n/a - Если модифицируемое значение пусто, - то используется это. - - - - - - Формирует дату и время по заданному формату strftime(). Даты могут - быть в виде unix timestamps, mysql timestamps или в любом другом виде, - который поймет strtotime(). Проектировщики шаблонов могут использовать - date_format для контроля над форматом выводимых дат. Если дата, - переданная модификатору, пуста, то второй параметр используется как дата. - - -date_format - -index.php: - -$smarty = new Smarty; -$smarty->assign('yesterday', strtotime('-1 day')); -$smarty->display('index.tpl'); - -index.tpl: - - -{$smarty.now|date_format} -{$smarty.now|date_format:"%A, %B %e, %Y"} -{$smarty.now|date_format:"%H:%M:%S"} -{$yesterday|date_format} -{$yesterday|date_format:"%A, %B %e, %Y"} -{$yesterday|date_format:"%H:%M:%S"} - -OUTPUT: - -Feb 6, 2001 -Tuesday, February 6, 2001 -14:33:00 -Feb 5, 2001 -Monday, February 5, 2001 -14:33:00 - - -date_format conversion specifiers - -%a - сокращенное название дня недели, в зависимости от текущей локали - -%A - полное название дня недели, в зависимости от текущей локали - -%b - сокращенное нащвание месяца, в зависимости от текущей локали - -%B - полное название месяца, в зависимости от текущей локали - -%c - формат даты и времени по умолчанию для текущей локали - -%C - номер века (год, деленный на 100, представленный в виде целого в промежутке от 00 до 99) - -%d - день месяца в десятичном формате (от 00 до 31) - -%D - синоним %m/%d/%y - -%e - день месяца в десятичном формате без ведущего нуля (от 1 до 31) - -%g - Week-based year within century [00,99] - -%G - Week-based year, including the century [0000,9999] - -%h - синоним %b - -%H - часы по 24-часовым часам (от 00 до 23) - -%I - часы по 12-часовым часам (от 01 до 12) - -%j - день года (от 001 до 366) - -%k - часы по 24-часовым часам без ведущего нуля (от 0 до 23) - -%l - часы по 12-часовым часам без ведущего нуля (от 1 до 12) - -%m - номер месяца (от 01 до 12) - -%M - минуты - -%n - символ новой строки - -%p - `am' или `pm', в зависимости от заданного формата времени и текущей локали. - -%r - time in a.m. and p.m. notation - -%R - time in 24 hour notation - -%S - секунды - -%t - символ табуляции - -%T - время в формате %H:%M:%S - -%u - номер дня недели [1,7], где 1-ый день - понедельник - -%U - номер недели в году, считая первое воскресенья года первым днем первой недели - -%V - номер недели в году (по ISO 8601:1988) в диапазоне от 01 до 53, где первая неделя - та, у которой хотя бы 4 дня находяться в данном году. Понедельник считается - первым днем недели. - -%w - номер дня недели, где 0 - воскресенье - -%W - номер недели в году, считаю первый понедельник первым днем первой недели. - -%x - preferred date representation for the current locale without the time - -%X - preferred time representation for the current locale without the date - -%y - year as a decimal number without a century (range 00 to 99) - -%Y - year as a decimal number including the century - -%Z - time zone or name or abbreviation - -%% - a literal `%' character - - -PROGRAMMERS ЗАМЕЧАНИЕ: date_format is essentially a wrapper to PHP's strftime() -function. You may have more or less conversion specifiers available depending -on your system's strftime() function where PHP was compiled. Check your -system's manpage for a full list of valid specifiers. - - - - - default - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Нет - пусто - Значение по умолчанию для пустой переменной. - - - - - - Используется для установки значения по умолчанию для переменной. Если - переменная оказывается пустой, то выводиться значение по умолчанию. - Модификатор принимает один параметр. - - -default - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|default:"no title"} -{$myTitle|default:"no title"} - -OUTPUT: - -Dealers Will Hear Car Talk at Noon. -no title - - - - escape - - - - - - - - - - - Позиция параметра - Тип - Обязателен - Возможные значения - По умолчанию - Описание - - - - - 1 - строка (string) - Нет - html,htmlall,url,quotes,hex,hexentity,javascript - html - Формат защиты (escape). - - - - - - "Защищает" специальные символы в переменной. Используется для - защиты специальных символов html, защиты специальных символов - url, защиты одиночных кавычек, конвертации в шестандцатеричный - вид (hex), конвертации каждого символа в шестандцатеричное - html представление (hexentity), защита специальных символов - javascript. - - -escape - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|escape} -{$articleTitle|escape:"html"} {* защищает & " ' < > *} -{$articleTitle|escape:"htmlall"} {* защищает все ВСЕ html объекты *} -{$articleTitle|escape:"url"} -{$articleTitle|escape:"quotes"} -<a -href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> - -OUTPUT: - -'Stiff Opposition Expected to Casketless Funeral Plan' -'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' -'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' -'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' -'Stiff+Opposition+Expected+to+Casketless+Funeral+Plan' -\'Stiff Opposition Expected to Casketless Funeral Plan\' -<a -href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> - - - - indent - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - целое (integer) - Нет - 4 - Количество символов для вставки. - - - 2 - строка (string) - Нет - (один пробел) - Символ для вставки. - - - - - - Вставляет в начало каждой строки заданное количество - заданных символов. По умолчанию вставляеться 4 пробела. - - -indent - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'NJ judge to rule on nude beach.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} - -{$articleTitle|indent} - -{$articleTitle|indent:10} - -{$articleTitle|indent:1:"\t"} - -OUTPUT: - -NJ judge to rule on nude beach. -Sun or rain expected today, dark tonight. -Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - NJ judge to rule on nude beach. - Sun or rain expected today, dark tonight. - Statistics show that teen pregnancy drops off significantly after 25. - - - - lower - - Все буквы в переменной становятся маленькими. - - -lower - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|lower} - -OUTPUT: - -Two Convicts Evade Noose, Jury Hung. -two convicts evade noose, jury hung. - - - - nl2br - - Заменяет все переносы строк на тэг <br /> в заданной - переменной. Это эквивалент PHP функции nl2br(). - - -nl2br - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle|nl2br} - -OUTPUT: - -Sun or rain expected<br />today, dark tonight - - - - regex_replace - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Да - n/a - Регулярное выражение для замены. - - - 2 - строка (string) - Да - n/a - Строка для замены. - - - - - - Выполняется поиск и замена по регулярному выражению в - переменнной. Используется синтаксис для функции - preg_replace() из руководства по PHP. - - -regex_replace - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); -$smarty->display('index.tpl'); - -index.tpl: - -{* replace each carriage return, tab & new line with a space *} - -{$articleTitle} -{$articleTitle|regex_replace:"/[\r\t\n]/":" "} - -OUTPUT: - -Infertility unlikely to - be passed on, experts say. -Infertility unlikely to be passed on, experts say. - - - - replace - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Да - n/a - Строка для поиска. - - - 2 - строка (string) - Да - n/a - Строка для замены. - - - - - - Выполняеться простой поиск и замена строки. - - -replace - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Child's Stool Great for Use in Garden."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|replace:"Garden":"Vineyard"} -{$articleTitle|replace:" ":" "} - -OUTPUT: - -Child's Stool Great for Use in Garden. -Child's Stool Great for Use in Vineyard. -Child's Stool Great for Use in Garden. - - - - spacify - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Нет - один пробел - Строка вставялется между каждым символом переменной. - - - - - - Spacify позволяет вставить пробел между каждым символом переменной. - Можно также указать другой символ (или строку) для вставки - - -spacify - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|spacify} -{$articleTitle|spacify:"^^"} - -OUTPUT: - -Something Went Wrong in Jet Crash, Experts Say. -S o m e t h i n g W e n t W r o n g i n J e t C r a s h , E x p e r t s S a y . -S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^. - - - - string_format - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - строка (string) - Да - n/a - Формат. (sprintf) - - - - - - Форматирует строку по указанному формату. Используется - синтаксис форматирования PHP функции sprintf. - - -string_format - -index.php: - -$smarty = new Smarty; -$smarty->assign('number', 23.5787446); -$smarty->display('index.tpl'); - -index.tpl: - -{$number} -{$number|string_format:"%.2f"} -{$number|string_format:"%d"} - -OUTPUT: - -23.5787446 -23.58 -24 - - - - strip - - Заменяет все повторные пробелы, новые строки и знаки табуляции на - одиночный пробел или на заданную строку. - - - Замечание - - Если вы хотите сделать аналогичную операцию над частью - текста шаблона, то используйте функцию strip. - - - -strip - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Grandmother of\neight makes\t hole in one."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|strip} -{$articleTitle|strip:"&nbsp;"} - -OUTPUT: - -Grandmother of -eight makes hole in one. -Grandmother of eight makes hole in one. -Grandmother&nbsp;of&nbsp;eight&nbsp;makes&nbsp;hole&nbsp;in&nbsp;one. - - - - strip_tags - - Вырезает HTML теги, обычно все между < и >. - - -strip_tags - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Blind Woman Gets <font face=\"helvetica\">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|strip_tags} - -OUTPUT: - -Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>. -Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. - - - - truncate - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - целое (integer) - Нет - 80 - Количество символов для обрезания - to. - - - 2 - строка (string) - Нет - ... - Текст, который добавляется, если произошло обрезание. - - - 3 - логический (boolean) - Нет - false - Указывает, надо ли обрезать по границе слова (false) или - по символу (true). - - - - - - Обрезает переменную по указанной длине (по умолчанию 80). Вторым - параметром можно указать текст, который будет добавлен в конец - обрезанной строки. По умолчанию truncate будет пытаться вырезать - слово, которой лежит на вырезаемой границе, целиком. Можно указать - третий параметр true, если надо обрезать строку точно по - определенному символу. - - -truncate - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|truncate} -{$articleTitle|truncate:30} -{$articleTitle|truncate:30:""} -{$articleTitle|truncate:30:"---"} -{$articleTitle|truncate:30:"":true} -{$articleTitle|truncate:30:"...":true} - -OUTPUT: - -Two Sisters Reunite after Eighteen Years at Checkout Counter. -Two Sisters Reunite after Eighteen Years at Checkout Counter. -Two Sisters Reunite after... -Two Sisters Reunite after -Two Sisters Reunite after--- -Two Sisters Reunite after Eigh -Two Sisters Reunite after E... - - - - upper - - Заменяет все маленькие буквы на большие. - - -upper - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} -{$articleTitle|upper} - -OUTPUT: - -If Strike isn't Settled Quickly it may Last a While. -IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. - - - - wordwrap - - - - - - - - - - Позиция параметра - Тип - Обязателен - По умолчанию - Описание - - - - - 1 - целое (integer) - Нет - 80 - Количество столбцов для переноса. - - - 2 - строка (string) - Нет - \n - Строка, которая вставляется на месте переноса. - - - 3 - логический (boolean) - Нет - false - Указывает, переносить по солвам (false) или нет (true). - - - - - - Переносит строку по количеству столбцов (по умолчанию 80). Можно - указать строку, которая будет вставлятся на месте переноса (по - умолчанию символ новой строки). По умолчанию wordwrap пытается - переносить по словам, но если указать третим параметром true, то - переноситься будет по конкретному символу. - - -wordwrap - -index.php: - -$smarty = new Smarty; -$smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); -$smarty->display('index.tpl'); - -index.tpl: - -{$articleTitle} - -{$articleTitle|wordwrap:30} - -{$articleTitle|wordwrap:20} - -{$articleTitle|wordwrap:30:"<br>\n"} - -{$articleTitle|wordwrap:30:"\n":true} - -OUTPUT: - -Blind woman gets new kidney from dad she hasn't seen in years. - -Blind woman gets new kidney -from dad she hasn't seen in -years. - -Blind woman gets new -kidney from dad she -hasn't seen in -years. - -Blind woman gets new kidney<br> -from dad she hasn't seen in years. - -Blind woman gets new kidney fr -om dad she hasn't seen in year -s. - - +&designers.language-modifiers.language-modifier-capitalize; +&designers.language-modifiers.language-modifier-count-characters; +&designers.language-modifiers.language-modifier-cat; +&designers.language-modifiers.language-modifier-count-paragraphs; +&designers.language-modifiers.language-modifier-count-sentences; +&designers.language-modifiers.language-modifier-count-words; +&designers.language-modifiers.language-modifier-date-format; +&designers.language-modifiers.language-modifier-default; +&designers.language-modifiers.language-modifier-escape; +&designers.language-modifiers.language-modifier-indent; +&designers.language-modifiers.language-modifier-lower; +&designers.language-modifiers.language-modifier-nl2br; +&designers.language-modifiers.language-modifier-regex-replace; +&designers.language-modifiers.language-modifier-replace; +&designers.language-modifiers.language-modifier-spacify; +&designers.language-modifiers.language-modifier-string-format; +&designers.language-modifiers.language-modifier-strip; +&designers.language-modifiers.language-modifier-strip-tags; +&designers.language-modifiers.language-modifier-truncate; +&designers.language-modifiers.language-modifier-upper; +&designers.language-modifiers.language-modifier-wordwrap; + + capitalize + + Первые буквы каждого слова преобразуются в заглавные. + + + capitalize + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Police begin campaign to rundown jaywalkers.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|capitalize} + +OUTPUT: + +Police begin campaign to rundown jaywalkers. +Police Begin Campaign To Rundown Jaywalkers. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-cat.xml b/docs/ru/designers/language-modifiers/language-modifier-cat.xml new file mode 100644 index 00000000..ee981f0e --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-cat.xml @@ -0,0 +1,73 @@ + + + + cat + + + + + + + + + + Позиция параметра + Тип + Обязателен + cat + Описание + + + + + 1 + строка (string) + Нет + пусто + Данная строка добавляется к + модифицируемому значению. + + + + + + Данная строка добавляется к модифицируемому значению. + + +cat + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Psychics predict world didn't end"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|cat:" yesterday."} + +OUTPUT: + +Psychics predict world didn't end yesterday. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-count-characters.xml b/docs/ru/designers/language-modifiers/language-modifier-count-characters.xml new file mode 100644 index 00000000..1288a39a --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-count-characters.xml @@ -0,0 +1,47 @@ + + + + count_characters + + Возвращает количество символов в строке. + + +count_characters + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_characters} + +OUTPUT: + +Cold Wave Linked to Temperatures. +32 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/ru/designers/language-modifiers/language-modifier-count-paragraphs.xml new file mode 100644 index 00000000..17e110f6 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-count-paragraphs.xml @@ -0,0 +1,50 @@ + + + + count_paragraphs + + Возвращает количество абзацев в строке. + + +count_paragraphs + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins +Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_paragraphs} + +OUTPUT: + +War Dims Hope for Peace. Child's Death Ruins Couple's Holiday. + +Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation. +2 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/ru/designers/language-modifiers/language-modifier-count-sentences.xml new file mode 100644 index 00000000..27f70b8e --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-count-sentences.xml @@ -0,0 +1,47 @@ + + + + count_sentences + + Возвращает количество предложений. + + +count_sentences + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_sentences} + +OUTPUT: + +Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe. +2 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-count-words.xml b/docs/ru/designers/language-modifiers/language-modifier-count-words.xml new file mode 100644 index 00000000..1c231dee --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-count-words.xml @@ -0,0 +1,47 @@ + + + + count_words + + Возвращает количество слов. + + +count_words + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|count_words} + +OUTPUT: + +Dealers Will Hear Car Talk at Noon. +7 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-date-format.xml b/docs/ru/designers/language-modifiers/language-modifier-date-format.xml new file mode 100644 index 00000000..953dfb0d --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-date-format.xml @@ -0,0 +1,181 @@ + + + + date_format + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Нет + %b %e, %Y + Формат вывода даты. + + + 2 + строка (string) + Нет + n/a + Если модифицируемое значение пусто, + то используется это. + + + + + + Формирует дату и время по заданному формату strftime(). Даты могут + быть в виде unix timestamps, mysql timestamps или в любом другом виде, + который поймет strtotime(). Проектировщики шаблонов могут использовать + date_format для контроля над форматом выводимых дат. Если дата, + переданная модификатору, пуста, то второй параметр используется как дата. + + +date_format + +index.php: + +$smarty = new Smarty; +$smarty->assign('yesterday', strtotime('-1 day')); +$smarty->display('index.tpl'); + +index.tpl: + + +{$smarty.now|date_format} +{$smarty.now|date_format:"%A, %B %e, %Y"} +{$smarty.now|date_format:"%H:%M:%S"} +{$yesterday|date_format} +{$yesterday|date_format:"%A, %B %e, %Y"} +{$yesterday|date_format:"%H:%M:%S"} + +OUTPUT: + +Feb 6, 2001 +Tuesday, February 6, 2001 +14:33:00 +Feb 5, 2001 +Monday, February 5, 2001 +14:33:00 + + +date_format conversion specifiers + +%a - сокращенное название дня недели, в зависимости от текущей локали + +%A - полное название дня недели, в зависимости от текущей локали + +%b - сокращенное нащвание месяца, в зависимости от текущей локали + +%B - полное название месяца, в зависимости от текущей локали + +%c - формат даты и времени по умолчанию для текущей локали + +%C - номер века (год, деленный на 100, представленный в виде целого в промежутке от 00 до 99) + +%d - день месяца в десятичном формате (от 00 до 31) + +%D - синоним %m/%d/%y + +%e - день месяца в десятичном формате без ведущего нуля (от 1 до 31) + +%g - Week-based year within century [00,99] + +%G - Week-based year, including the century [0000,9999] + +%h - синоним %b + +%H - часы по 24-часовым часам (от 00 до 23) + +%I - часы по 12-часовым часам (от 01 до 12) + +%j - день года (от 001 до 366) + +%k - часы по 24-часовым часам без ведущего нуля (от 0 до 23) + +%l - часы по 12-часовым часам без ведущего нуля (от 1 до 12) + +%m - номер месяца (от 01 до 12) + +%M - минуты + +%n - символ новой строки + +%p - `am' или `pm', в зависимости от заданного формата времени и текущей локали. + +%r - time in a.m. and p.m. notation + +%R - time in 24 hour notation + +%S - секунды + +%t - символ табуляции + +%T - время в формате %H:%M:%S + +%u - номер дня недели [1,7], где 1-ый день - понедельник + +%U - номер недели в году, считая первое воскресенья года первым днем первой недели + +%V - номер недели в году (по ISO 8601:1988) в диапазоне от 01 до 53, где первая неделя + та, у которой хотя бы 4 дня находяться в данном году. Понедельник считается + первым днем недели. + +%w - номер дня недели, где 0 - воскресенье + +%W - номер недели в году, считаю первый понедельник первым днем первой недели. + +%x - preferred date representation for the current locale without the time + +%X - preferred time representation for the current locale without the date + +%y - year as a decimal number without a century (range 00 to 99) + +%Y - year as a decimal number including the century + +%Z - time zone or name or abbreviation + +%% - a literal `%' character + + +PROGRAMMERS ЗАМЕЧАНИЕ: date_format is essentially a wrapper to PHP's strftime() +function. You may have more or less conversion specifiers available depending +on your system's strftime() function where PHP was compiled. Check your +system's manpage for a full list of valid specifiers. + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-default.xml b/docs/ru/designers/language-modifiers/language-modifier-default.xml new file mode 100644 index 00000000..233a7143 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-default.xml @@ -0,0 +1,76 @@ + + + + default + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Нет + пусто + Значение по умолчанию для пустой переменной. + + + + + + Используется для установки значения по умолчанию для переменной. Если + переменная оказывается пустой, то выводиться значение по умолчанию. + Модификатор принимает один параметр. + + +default + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|default:"no title"} +{$myTitle|default:"no title"} + +OUTPUT: + +Dealers Will Hear Car Talk at Noon. +no title + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-escape.xml b/docs/ru/designers/language-modifiers/language-modifier-escape.xml new file mode 100644 index 00000000..61a6006a --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-escape.xml @@ -0,0 +1,94 @@ + + + + escape + + + + + + + + + + + Позиция параметра + Тип + Обязателен + Возможные значения + По умолчанию + Описание + + + + + 1 + строка (string) + Нет + html,htmlall,url,quotes,hex,hexentity,javascript + html + Формат защиты (escape). + + + + + + "Защищает" специальные символы в переменной. Используется для + защиты специальных символов html, защиты специальных символов + url, защиты одиночных кавычек, конвертации в шестандцатеричный + вид (hex), конвертации каждого символа в шестандцатеричное + html представление (hexentity), защита специальных символов + javascript. + + +escape + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|escape} +{$articleTitle|escape:"html"} {* защищает & " ' < > *} +{$articleTitle|escape:"htmlall"} {* защищает все ВСЕ html объекты *} +{$articleTitle|escape:"url"} +{$articleTitle|escape:"quotes"} +<a +href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> + +OUTPUT: + +'Stiff Opposition Expected to Casketless Funeral Plan' +'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' +'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' +'Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan' +'Stiff+Opposition+Expected+to+Casketless+Funeral+Plan' +\'Stiff Opposition Expected to Casketless Funeral Plan\' +<a +href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">&#x62;&#x6f;&#x62;&#x40;&#x6d;&#x65;&#x2e;&#x6e;&#x65;&#x74;</a> + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-indent.xml b/docs/ru/designers/language-modifiers/language-modifier-indent.xml new file mode 100644 index 00000000..351d5ab8 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-indent.xml @@ -0,0 +1,100 @@ + + + + indent + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + целое (integer) + Нет + 4 + Количество символов для вставки. + + + 2 + строка (string) + Нет + (один пробел) + Символ для вставки. + + + + + + Вставляет в начало каждой строки заданное количество + заданных символов. По умолчанию вставляеться 4 пробела. + + +indent + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'NJ judge to rule on nude beach.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} + +{$articleTitle|indent} + +{$articleTitle|indent:10} + +{$articleTitle|indent:1:"\t"} + +OUTPUT: + +NJ judge to rule on nude beach. +Sun or rain expected today, dark tonight. +Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + NJ judge to rule on nude beach. + Sun or rain expected today, dark tonight. + Statistics show that teen pregnancy drops off significantly after 25. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-lower.xml b/docs/ru/designers/language-modifiers/language-modifier-lower.xml new file mode 100644 index 00000000..fe1abac5 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-lower.xml @@ -0,0 +1,47 @@ + + + + lower + + Все буквы в переменной становятся маленькими. + + +lower + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|lower} + +OUTPUT: + +Two Convicts Evade Noose, Jury Hung. +two convicts evade noose, jury hung. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-nl2br.xml b/docs/ru/designers/language-modifiers/language-modifier-nl2br.xml new file mode 100644 index 00000000..fa6e1370 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-nl2br.xml @@ -0,0 +1,46 @@ + + + + nl2br + + Заменяет все переносы строк на тэг <br /> в заданной + переменной. Это эквивалент PHP функции nl2br(). + + +nl2br + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Sun or rain expected\ntoday, dark tonight"); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle|nl2br} + +OUTPUT: + +Sun or rain expected<br />today, dark tonight + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/ru/designers/language-modifiers/language-modifier-regex-replace.xml new file mode 100644 index 00000000..1167103d --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-regex-replace.xml @@ -0,0 +1,86 @@ + + + + regex_replace + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Да + n/a + Регулярное выражение для замены. + + + 2 + строка (string) + Да + n/a + Строка для замены. + + + + + + Выполняется поиск и замена по регулярному выражению в + переменнной. Используется синтаксис для функции + preg_replace() из руководства по PHP. + + +regex_replace + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say."); +$smarty->display('index.tpl'); + +index.tpl: + +{* replace each carriage return, tab & new line with a space *} + +{$articleTitle} +{$articleTitle|regex_replace:"/[\r\t\n]/":" "} + +OUTPUT: + +Infertility unlikely to + be passed on, experts say. +Infertility unlikely to be passed on, experts say. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-replace.xml b/docs/ru/designers/language-modifiers/language-modifier-replace.xml new file mode 100644 index 00000000..7e7e8f53 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-replace.xml @@ -0,0 +1,83 @@ + + + + replace + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Да + n/a + Строка для поиска. + + + 2 + строка (string) + Да + n/a + Строка для замены. + + + + + + Выполняеться простой поиск и замена строки. + + +replace + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Child's Stool Great for Use in Garden."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|replace:"Garden":"Vineyard"} +{$articleTitle|replace:" ":" "} + +OUTPUT: + +Child's Stool Great for Use in Garden. +Child's Stool Great for Use in Vineyard. +Child's Stool Great for Use in Garden. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-spacify.xml b/docs/ru/designers/language-modifiers/language-modifier-spacify.xml new file mode 100644 index 00000000..6ce3e07b --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-spacify.xml @@ -0,0 +1,77 @@ + + + + spacify + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Нет + один пробел + Строка вставялется между каждым символом переменной. + + + + + + Spacify позволяет вставить пробел между каждым символом переменной. + Можно также указать другой символ (или строку) для вставки + + +spacify + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|spacify} +{$articleTitle|spacify:"^^"} + +OUTPUT: + +Something Went Wrong in Jet Crash, Experts Say. +S o m e t h i n g W e n t W r o n g i n J e t C r a s h , E x p e r t s S a y . +S^^o^^m^^e^^t^^h^^i^^n^^g^^ ^^W^^e^^n^^t^^ ^^W^^r^^o^^n^^g^^ ^^i^^n^^ ^^J^^e^^t^^ ^^C^^r^^a^^s^^h^^,^^ ^^E^^x^^p^^e^^r^^t^^s^^ ^^S^^a^^y^^. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-string-format.xml b/docs/ru/designers/language-modifiers/language-modifier-string-format.xml new file mode 100644 index 00000000..47b01644 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-string-format.xml @@ -0,0 +1,77 @@ + + + + string_format + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + строка (string) + Да + n/a + Формат. (sprintf) + + + + + + Форматирует строку по указанному формату. Используется + синтаксис форматирования PHP функции sprintf. + + +string_format + +index.php: + +$smarty = new Smarty; +$smarty->assign('number', 23.5787446); +$smarty->display('index.tpl'); + +index.tpl: + +{$number} +{$number|string_format:"%.2f"} +{$number|string_format:"%d"} + +OUTPUT: + +23.5787446 +23.58 +24 + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/ru/designers/language-modifiers/language-modifier-strip-tags.xml new file mode 100644 index 00000000..5a3546d9 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-strip-tags.xml @@ -0,0 +1,47 @@ + + + + strip_tags + + Вырезает HTML теги, обычно все между < и >. + + +strip_tags + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Blind Woman Gets <font face=\"helvetica\">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|strip_tags} + +OUTPUT: + +Blind Woman Gets <font face="helvetica">New Kidney</font> from Dad she Hasn't Seen in <b>years</b>. +Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-strip.xml b/docs/ru/designers/language-modifiers/language-modifier-strip.xml new file mode 100644 index 00000000..f95fc148 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-strip.xml @@ -0,0 +1,59 @@ + + + + strip + + Заменяет все повторные пробелы, новые строки и знаки табуляции на + одиночный пробел или на заданную строку. + + + Замечание + + Если вы хотите сделать аналогичную операцию над частью + текста шаблона, то используйте функцию strip. + + + +strip + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Grandmother of\neight makes\t hole in one."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|strip} +{$articleTitle|strip:"&nbsp;"} + +OUTPUT: + +Grandmother of +eight makes hole in one. +Grandmother of eight makes hole in one. +Grandmother&nbsp;of&nbsp;eight&nbsp;makes&nbsp;hole&nbsp;in&nbsp;one. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-truncate.xml b/docs/ru/designers/language-modifiers/language-modifier-truncate.xml new file mode 100644 index 00000000..1a2a15f7 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-truncate.xml @@ -0,0 +1,105 @@ + + + + truncate + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + целое (integer) + Нет + 80 + Количество символов для обрезания + to. + + + 2 + строка (string) + Нет + ... + Текст, который добавляется, если произошло обрезание. + + + 3 + логический (boolean) + Нет + false + Указывает, надо ли обрезать по границе слова (false) или + по символу (true). + + + + + + Обрезает переменную по указанной длине (по умолчанию 80). Вторым + параметром можно указать текст, который будет добавлен в конец + обрезанной строки. По умолчанию truncate будет пытаться вырезать + слово, которой лежит на вырезаемой границе, целиком. Можно указать + третий параметр true, если надо обрезать строку точно по + определенному символу. + + +truncate + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.'); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|truncate} +{$articleTitle|truncate:30} +{$articleTitle|truncate:30:""} +{$articleTitle|truncate:30:"---"} +{$articleTitle|truncate:30:"":true} +{$articleTitle|truncate:30:"...":true} + +OUTPUT: + +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after Eighteen Years at Checkout Counter. +Two Sisters Reunite after... +Two Sisters Reunite after +Two Sisters Reunite after--- +Two Sisters Reunite after Eigh +Two Sisters Reunite after E... + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-upper.xml b/docs/ru/designers/language-modifiers/language-modifier-upper.xml new file mode 100644 index 00000000..0f05bad6 --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-upper.xml @@ -0,0 +1,47 @@ + + + + upper + + Заменяет все маленькие буквы на большие. + + +upper + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} +{$articleTitle|upper} + +OUTPUT: + +If Strike isn't Settled Quickly it may Last a While. +IF STRIKE ISN'T SETTLED QUICKLY IT MAY LAST A WHILE. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/ru/designers/language-modifiers/language-modifier-wordwrap.xml new file mode 100644 index 00000000..d789c61d --- /dev/null +++ b/docs/ru/designers/language-modifiers/language-modifier-wordwrap.xml @@ -0,0 +1,114 @@ + + + + wordwrap + + + + + + + + + + Позиция параметра + Тип + Обязателен + По умолчанию + Описание + + + + + 1 + целое (integer) + Нет + 80 + Количество столбцов для переноса. + + + 2 + строка (string) + Нет + \n + Строка, которая вставляется на месте переноса. + + + 3 + логический (boolean) + Нет + false + Указывает, переносить по солвам (false) или нет (true). + + + + + + Переносит строку по количеству столбцов (по умолчанию 80). Можно + указать строку, которая будет вставлятся на месте переноса (по + умолчанию символ новой строки). По умолчанию wordwrap пытается + переносить по словам, но если указать третим параметром true, то + переноситься будет по конкретному символу. + + +wordwrap + +index.php: + +$smarty = new Smarty; +$smarty->assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years."); +$smarty->display('index.tpl'); + +index.tpl: + +{$articleTitle} + +{$articleTitle|wordwrap:30} + +{$articleTitle|wordwrap:20} + +{$articleTitle|wordwrap:30:"<br>\n"} + +{$articleTitle|wordwrap:30:"\n":true} + +OUTPUT: + +Blind woman gets new kidney from dad she hasn't seen in years. + +Blind woman gets new kidney +from dad she hasn't seen in +years. + +Blind woman gets new +kidney from dad she +hasn't seen in +years. + +Blind woman gets new kidney<br> +from dad she hasn't seen in years. + +Blind woman gets new kidney fr +om dad she hasn't seen in year +s. + + + \ No newline at end of file diff --git a/docs/ru/designers/language-variables.xml b/docs/ru/designers/language-variables.xml index e64a859f..ad2f8391 100644 --- a/docs/ru/designers/language-variables.xml +++ b/docs/ru/designers/language-variables.xml @@ -20,305 +20,11 @@ <body bgcolor="{#bgcolor#}"> - - Переменные, установленные в PHP - - Переменные, установленные в PHP, употребляются со знаком доллар - $ перед ним. Переменные, установленные в - шаблоне с помощью функции assign употребляются - аналогичным образом. - - +&designers.language-variables.language-assigned-variables; - Установленные переменные - -Привет {$firstname}, мы рады снова тебя видеть. -<p> -Последний раз ты посещал нас {$lastLoginDate}. +&designers.language-variables.language-config-variables; -OUTPUT: - -Привет Петя, мы рады снова тебя видеть. -<p> -Последний раз ты посещал нас January 11th, 2001. - - - - Ассоциативные массивы - - Чтобы использовать переменную из ассоциативного массива, - надо указать ключ элемента после знака '.' (точка). - - -доступ к перременным ассоциативного массива - -index.php: - -$smarty = new Smarty; -$smarty->assign('Contacts', - array('fax' => '555-222-9876', - 'email' => 'zaphod@slartibartfast.com', - 'phone' => array('home' => '555-444-3333', - 'cell' => '555-111-1234'))); -$smarty->display('index.tpl'); - -index.tpl: - -{$Contacts.fax}<br> -{$Contacts.email}<br> -{* you can print arrays of arrays as well *} -{$Contacts.phone.home}<br> -{$Contacts.phone.cell}<br> - -OUTPUT: - -555-222-9876<br> -zaphod@slartibartfast.com<br> -555-444-3333<br> -555-111-1234<br> - - - - Индексированные массивы - - Можно использовать переменную из массива по е индексу. - Синтаксис аналогичен PHP. - - -доступ к елементу массива по его индексу - -index.php: - -$smarty = new Smarty; -$smarty->assign('Contacts', - array('555-222-9876', - 'zaphod@slartibartfast.com', - array('555-444-3333', - '555-111-1234'))); -$smarty->display('index.tpl'); - -index.tpl: - -{$Contacts[0]}<br> -{$Contacts[1]}<br> -{* you can print arrays of arrays as well *} -{$Contacts[2][0]}<br> -{$Contacts[2][1]}<br> - -OUTPUT: - -555-222-9876<br> -zaphod@slartibartfast.com<br> -555-444-3333<br> -555-111-1234<br> - - - - Объекты - - Чтобы использовать свойства обьектов, надо указать перед названием - своства знак `->'. - - -доступ к свойствам объекта - -name: {$person->name}<br> -email: {$person->email}<br> - -OUTPUT: - -name: Zaphod Beeblebrox<br> -email: zaphod@slartibartfast.com<br> - - - - - - Переменные файлов конфигурации - - Для использования переменных, полученных из файлов конфигураии, - необходимо заключить их имя между знаками # или через переменную - $smarty.config. - Для употребления их в качестве внедренныых переменных можно - использовать только второй способ. - - - -Переменные из файлов конфигурации - -foo.conf: - -pageTitle = "This is mine" -bodyBgColor = "#eeeeee" -tableBorderSize = "3" -tableBgColor = "#bbbbbb" -rowBgColor = "#cccccc" - -index.tpl: - -{config_load file="foo.conf"} -<html> -<title>{#pageTitle#}</title> -<body bgcolor="{#bodyBgColor#}"> -<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> -<tr bgcolor="{#rowBgColor#}"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - -index.tpl: (alternate syntax) - -{config_load file="foo.conf"} -<html> -<title>{$smarty.config.pageTitle}</title> -<body bgcolor="{$smarty.config.bodyBgColor}"> -<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}"> -<tr bgcolor="{$smarty.config.rowBgColor}"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - - -OUTPUT: (same for both examples) - -<html> -<title>This is mine</title> -<body bgcolor="#eeeeee"> -<table border="3" bgcolor="#bbbbbb"> -<tr bgcolor="#cccccc"> - <td>First</td> - <td>Last</td> - <td>Address</td> -</tr> -</table> -</body> -</html> - - - Переменные из файлов конфигурации не могут быть использованы, - пока они не будут загружены. Эта процедура описана далее - в данном руководстве (config_load). - - - - - зарезервированная переменная {$smarty} - - Зарезервированная переменная {$smarty} используется для доступа - к нескольким специальным переменным. Далее следует полный их список. - - - - Переменные запроса. - - К переменным из таких массивов, как _GET, _POST, _COOKIES, _SERVER, - _ENV и _SESSION, можно обращаться аналогично нижеприведенным примерам. - - - - Вывод переменных запроса - -{* Вывод значения $page из URL (GET) http://www.domain.com/index.php?page=foo *} -{$smarty.get.page} - -{* Вывод переменной "page" из формы (POST) *} -{$smarty.post.page} - -{* Вывод значения cookie "username" *} -{$smarty.cookies.username} - -{* Вывод переменное сервера "SERVER_NAME" *} -{$smarty.server.SERVER_NAME} - -{* Вывод переменной окружения "PATH" *} -{$smarty.env.PATH} - -{* Вывод переменной сессии "id" *} -{$smarty.session.id} - -{* Вывод переменной "username" из объединенного массива get/post/cookies/server/env *} -{$smarty.request.username} - - - - - {$smarty.now} - - К текущему timestamp (штам времени) можно обратиться через - {$smarty.now}. Оно содержит число секунд с начала так - называемой Эпохи (Epoch, 1 января 1970 года) и может быть - передано прямо модификатору date_format для вывода текущей - даты. - - - -использование {$smarty.now} - -{* выводим текущее время и дату с помощью модификатора date_format *} -{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} - - - - {$smarty.const} - - Реализует доступ к константам PHP. - - - -использование {$smarty.const} - -{$smarty.const._MY_CONST_VAL} - - - - - {$smarty.capture} - - Доступ к выводу, сохраненному с помощью тэгов - {capture}..{/capture}, можно получить используя переменную - {$smarty}. Смотри раздел capture для примера. - - - - - {$smarty.config} - - Переменная {$smarty} может быть использована для ссылания - на переменные из файлов конфигураций. {$smarty.config.foo} - является синонимом для {#foo#}. Смотри раздел config_load - для примера. - - - - - {$smarty.section}, {$smarty.foreach} - - Переменная {$smarty} может быть использована для исппользования - свойств структур 'section' и 'foreach'. Смотри разделы по - section и - foreach. - - - - - {$smarty.template} - - Эта переменная содержит имя текущего шаблона. - - - - +&designers.language-variables.language-variables-smarty; + + Переменные, установленные в PHP + + Переменные, установленные в PHP, употребляются со знаком доллар + $ перед ним. Переменные, установленные в + шаблоне с помощью функции assign употребляются + аналогичным образом. + + + + Установленные переменные + +Привет {$firstname}, мы рады снова тебя видеть. +<p> +Последний раз ты посещал нас {$lastLoginDate}. + +OUTPUT: + +Привет Петя, мы рады снова тебя видеть. +<p> +Последний раз ты посещал нас January 11th, 2001. + + + + Ассоциативные массивы + + Чтобы использовать переменную из ассоциативного массива, + надо указать ключ элемента после знака '.' (точка). + + +доступ к перременным ассоциативного массива + +index.php: + +$smarty = new Smarty; +$smarty->assign('Contacts', + array('fax' => '555-222-9876', + 'email' => 'zaphod@slartibartfast.com', + 'phone' => array('home' => '555-444-3333', + 'cell' => '555-111-1234'))); +$smarty->display('index.tpl'); + +index.tpl: + +{$Contacts.fax}<br> +{$Contacts.email}<br> +{* you can print arrays of arrays as well *} +{$Contacts.phone.home}<br> +{$Contacts.phone.cell}<br> + +OUTPUT: + +555-222-9876<br> +zaphod@slartibartfast.com<br> +555-444-3333<br> +555-111-1234<br> + + + + Индексированные массивы + + Можно использовать переменную из массива по е индексу. + Синтаксис аналогичен PHP. + + +доступ к елементу массива по его индексу + +index.php: + +$smarty = new Smarty; +$smarty->assign('Contacts', + array('555-222-9876', + 'zaphod@slartibartfast.com', + array('555-444-3333', + '555-111-1234'))); +$smarty->display('index.tpl'); + +index.tpl: + +{$Contacts[0]}<br> +{$Contacts[1]}<br> +{* you can print arrays of arrays as well *} +{$Contacts[2][0]}<br> +{$Contacts[2][1]}<br> + +OUTPUT: + +555-222-9876<br> +zaphod@slartibartfast.com<br> +555-444-3333<br> +555-111-1234<br> + + + + Объекты + + Чтобы использовать свойства обьектов, надо указать перед названием + своства знак `->'. + + +доступ к свойствам объекта + +name: {$person->name}<br> +email: {$person->email}<br> + +OUTPUT: + +name: Zaphod Beeblebrox<br> +email: zaphod@slartibartfast.com<br> + + + + \ No newline at end of file diff --git a/docs/ru/designers/language-variables/language-config-variables.xml b/docs/ru/designers/language-variables/language-config-variables.xml new file mode 100644 index 00000000..3b34a66a --- /dev/null +++ b/docs/ru/designers/language-variables/language-config-variables.xml @@ -0,0 +1,97 @@ + + + + Переменные файлов конфигурации + + Для использования переменных, полученных из файлов конфигураии, + необходимо заключить их имя между знаками # или через переменную + $smarty.config. + Для употребления их в качестве внедренныых переменных можно + использовать только второй способ. + + + +Переменные из файлов конфигурации + +foo.conf: + +pageTitle = "This is mine" +bodyBgColor = "#eeeeee" +tableBorderSize = "3" +tableBgColor = "#bbbbbb" +rowBgColor = "#cccccc" + +index.tpl: + +{config_load file="foo.conf"} +<html> +<title>{#pageTitle#}</title> +<body bgcolor="{#bodyBgColor#}"> +<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"> +<tr bgcolor="{#rowBgColor#}"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + +index.tpl: (alternate syntax) + +{config_load file="foo.conf"} +<html> +<title>{$smarty.config.pageTitle}</title> +<body bgcolor="{$smarty.config.bodyBgColor}"> +<table border="{$smarty.config.tableBorderSize}" bgcolor="{$smarty.config.tableBgColor}"> +<tr bgcolor="{$smarty.config.rowBgColor}"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + + +OUTPUT: (same for both examples) + +<html> +<title>This is mine</title> +<body bgcolor="#eeeeee"> +<table border="3" bgcolor="#bbbbbb"> +<tr bgcolor="#cccccc"> + <td>First</td> + <td>Last</td> + <td>Address</td> +</tr> +</table> +</body> +</html> + + + Переменные из файлов конфигурации не могут быть использованы, + пока они не будут загружены. Эта процедура описана далее + в данном руководстве (config_load). + + + \ No newline at end of file diff --git a/docs/ru/designers/language-variables/language-variables-smarty.xml b/docs/ru/designers/language-variables/language-variables-smarty.xml new file mode 100644 index 00000000..0b9a97bd --- /dev/null +++ b/docs/ru/designers/language-variables/language-variables-smarty.xml @@ -0,0 +1,131 @@ + + + + зарезервированная переменная {$smarty} + + Зарезервированная переменная {$smarty} используется для доступа + к нескольким специальным переменным. Далее следует полный их список. + + + + Переменные запроса. + + К переменным из таких массивов, как _GET, _POST, _COOKIES, _SERVER, + _ENV и _SESSION, можно обращаться аналогично нижеприведенным примерам. + + + + Вывод переменных запроса + +{* Вывод значения $page из URL (GET) http://www.domain.com/index.php?page=foo *} +{$smarty.get.page} + +{* Вывод переменной "page" из формы (POST) *} +{$smarty.post.page} + +{* Вывод значения cookie "username" *} +{$smarty.cookies.username} + +{* Вывод переменное сервера "SERVER_NAME" *} +{$smarty.server.SERVER_NAME} + +{* Вывод переменной окружения "PATH" *} +{$smarty.env.PATH} + +{* Вывод переменной сессии "id" *} +{$smarty.session.id} + +{* Вывод переменной "username" из объединенного массива get/post/cookies/server/env *} +{$smarty.request.username} + + + + + {$smarty.now} + + К текущему timestamp (штам времени) можно обратиться через + {$smarty.now}. Оно содержит число секунд с начала так + называемой Эпохи (Epoch, 1 января 1970 года) и может быть + передано прямо модификатору date_format для вывода текущей + даты. + + + +использование {$smarty.now} + +{* выводим текущее время и дату с помощью модификатора date_format *} +{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} + + + + {$smarty.const} + + Реализует доступ к константам PHP. + + + +использование {$smarty.const} + +{$smarty.const._MY_CONST_VAL} + + + + + {$smarty.capture} + + Доступ к выводу, сохраненному с помощью тэгов + {capture}..{/capture}, можно получить используя переменную + {$smarty}. Смотри раздел capture для примера. + + + + + {$smarty.config} + + Переменная {$smarty} может быть использована для ссылания + на переменные из файлов конфигураций. {$smarty.config.foo} + является синонимом для {#foo#}. Смотри раздел config_load + для примера. + + + + + {$smarty.section}, {$smarty.foreach} + + Переменная {$smarty} может быть использована для исппользования + свойств структур 'section' и 'foreach'. Смотри разделы по + section и + foreach. + + + + + {$smarty.template} + + Эта переменная содержит имя текущего шаблона. + + + + + \ No newline at end of file