mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 18:34:27 +02:00
banana split
This commit is contained in:
@@ -15,143 +15,14 @@
|
||||
entsprechenden Ausgaben an deren Stelle einzufügen.
|
||||
</para>
|
||||
|
||||
<sect1 id="language.syntax.comments">
|
||||
<title>Kommentare</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Kommentare</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.syntax.functions">
|
||||
<title>Funktionen</title>
|
||||
<para>
|
||||
Jedes Smarty-Tag gibt entweder eine <link linkend="language.variables">Variable</link> 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"}.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktions-Syntax</title>
|
||||
<programlisting>
|
||||
{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"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der
|
||||
gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie <command>if</command>, <command>section</command>
|
||||
und <command>strip</command>. 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. <command>html_options</command> und <command>html_select_date</command> sind Beispiele solcher Funktionen.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.syntax.attributes">
|
||||
<title>Attribute / Parameter</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Bestimmte Parameter verlangen logische Werte (true / false). Diese
|
||||
können auch ohne Anführungszeichen angegeben werden:
|
||||
<literal>true</literal>, <literal>on</literal> und <literal>yes</literal>
|
||||
- oder <literal>false</literal>, <literal>off</literal> und <literal>no</literal>.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktions-Parameter Syntax</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.syntax.quotes">
|
||||
<title>Variablen mit Doppelten Anführungszeichen</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Syntax von eingebetteten Anfürungszeichen</title>
|
||||
<programlisting>
|
||||
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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.math">
|
||||
<title>Math</title>
|
||||
<para>
|
||||
Mathematische Operationen können direkt auf Variablen verwendet werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Mathematik Beispiele</title>
|
||||
<programlisting>
|
||||
{$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`"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
&designers.language-basic-syntax.language-syntax-quotes;
|
||||
&designers.language-basic-syntax.language-math;
|
||||
</chapter>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
45
docs/de/designers/language-basic-syntax/language-math.xml
Normal file
45
docs/de/designers/language-basic-syntax/language-math.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.math">
|
||||
<title>Math</title>
|
||||
<para>
|
||||
Mathematische Operationen können direkt auf Variablen verwendet werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Mathematik Beispiele</title>
|
||||
<programlisting>
|
||||
{$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`"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.attributes">
|
||||
<title>Attribute / Parameter</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Bestimmte Parameter verlangen logische Werte (true / false). Diese
|
||||
können auch ohne Anführungszeichen angegeben werden:
|
||||
<literal>true</literal>, <literal>on</literal> und <literal>yes</literal>
|
||||
- oder <literal>false</literal>, <literal>off</literal> und <literal>no</literal>.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktions-Parameter Syntax</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.comments">
|
||||
<title>Kommentare</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Kommentare</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.functions">
|
||||
<title>Funktionen</title>
|
||||
<para>
|
||||
Jedes Smarty-Tag gibt entweder eine <link linkend="language.variables">Variable</link> 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"}.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktions-Syntax</title>
|
||||
<programlisting>
|
||||
{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"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der
|
||||
gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie <command>if</command>, <command>section</command>
|
||||
und <command>strip</command>. 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. <command>html_options</command> und <command>html_select_date</command> sind Beispiele solcher Funktionen.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.quotes">
|
||||
<title>Variablen mit Doppelten Anführungszeichen</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Syntax von eingebetteten Anfürungszeichen</title>
|
||||
<programlisting>
|
||||
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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.capture">
|
||||
<title>capture (Ausgabe abfangen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Benötigt</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>Der Name des abgefangenen Blocks</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der Variable welcher der Wert zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<caution>
|
||||
<para>
|
||||
Seien Sie vorsichtig, wenn sie die Ausgabe von <command>insert</command>
|
||||
abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
|
||||
eingeschaltet ist und Sie einen <command>insert</command>
|
||||
Befehl verwenden, um Ausgaben vom Caching auszuschliessen.
|
||||
</para>
|
||||
</caution>
|
||||
<para>
|
||||
<example>
|
||||
<title>Template-Inhalte abfangen</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.config.load">
|
||||
<title>config_load (Konfiguration laden)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert den Namen der einzubindenden Datei.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>section</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert den Namen des zu ladenden Abschnitts.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>scope</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>local</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>global</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>No</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei
|
||||
in das Template zu laden. Sehen sie <link linkend="config.files">Config Files (Konfigurationsdateien)</link>
|
||||
für weitere Informationen.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktion config_load</title>
|
||||
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Konfigurationsdateien können Abschnitte enthalten. Um Variablen
|
||||
aus einem Abschnitt zu laden, können Sie das Attribut
|
||||
<emphasis>section</emphasis> übergeben.
|
||||
</para>
|
||||
<para>
|
||||
Bemerkung: <emphasis>Konfigurationdatei-Abschnitte (sections)</emphasis> und die
|
||||
eingebaute Template Funktion namens <emphasis>section</emphasis> haben ausser dem
|
||||
Namen nichts gemeinsam.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktion config_load mit Abschnitten</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.foreach">
|
||||
<title>foreach, foreachelse</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>from</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name des zu durchlaufenden Array.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>item</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name für das aktuelle Element.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>key</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name für den aktuellen Schlüssel.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Die <emphasis>foreach</emphasis> Schleife ist eine Alternative zu <emphasis>section</emphasis>.
|
||||
<emphasis>foreach</emphasis> wird verwendet, um ein assoziatives Array
|
||||
zu durchlaufen. Die Syntax von <emphasis>foreach</emphasis>-Schleifen ist viel einfacher als
|
||||
die von <emphasis>section</emphasis>. <emphasis>foreach</emphasis> tags müssen mit <emphasis>/foreach</emphasis>
|
||||
tags kombiniert werden. Erforderliche Parameter sind: <emphasis>from</emphasis> und
|
||||
<emphasis>item</emphasis>. Der Name der 'foreach'-Schleife kann frei vergeben werden
|
||||
und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten.
|
||||
<emphasis>foreach</emphasis>-Schleifen können verschachtelt werden, dabei ist
|
||||
zu beachten, dass sich die definierten Namen voneinander unterscheiden.
|
||||
Die <emphasis>from</emphasis> Variable (normalerweise
|
||||
ein assoziatives Array) definiert die Anzahl der von <emphasis>foreach</emphasis>
|
||||
zu durchlaufenen Iterationen. <emphasis>foreachelse</emphasis> wird ausgeführt wenn
|
||||
keine Werte in der <emphasis>from</emphasis> Variable übergeben wurden.
|
||||
</para>
|
||||
<example>
|
||||
<title>foreach</title>
|
||||
<programlisting>
|
||||
|
||||
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>foreach key</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<para>
|
||||
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 <emphasis>name</emphasis> Attribut von Foreach übergeben wurden.
|
||||
</para>
|
||||
<sect2 id="foreach.property.iteration">
|
||||
<title>iteration</title>
|
||||
<para>
|
||||
gibt die aktuelle iteration aus
|
||||
</para>
|
||||
<para>
|
||||
iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.first">
|
||||
<title>first</title>
|
||||
<para>
|
||||
<emphasis>first</emphasis> ist TRUE wenn die aktuelle Iteration die erste ist
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.last">
|
||||
<title>last</title>
|
||||
<para>
|
||||
<emphasis>last</emphasis> ist TRUE wenn die aktuelle Iteration die letzte ist
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.show">
|
||||
<title>show</title>
|
||||
<para>
|
||||
<emphasis>show</emphasis> 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.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
<sect2 id="foreach.property.total">
|
||||
<title>total</title>
|
||||
<para>
|
||||
<emphasis>total</emphasis> gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.if">
|
||||
<title>if,elseif,else</title>
|
||||
<para>
|
||||
'if'-Statements in Smarty erlauben die selbe Flexibilität
|
||||
wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine.
|
||||
Jedes <emphasis>if</emphasis> muss mit einem <emphasis>/if</emphasis>
|
||||
kombiniert sein. <emphasis>else</emphasis> und <emphasis>elseif</emphasis>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>if Anweisung</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.include.php">
|
||||
<title>include_php (PHP-Code einbinden)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der einzubindenden PHP-Datei.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>once</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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 <emphasis>once</emphasis> Attributs
|
||||
steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer
|
||||
wenn sie eingebunden wird auch neu geladen.
|
||||
</para>
|
||||
<para>
|
||||
Optional kann das <emphasis>assign</emphasis> Attribut übergeben werden.
|
||||
Die Ausgabe von <emphasis>include_php</emphasis> wird dann nicht direkt eingefügt,
|
||||
sondern in der durch assign benannten Template-Variable abgelegt.
|
||||
</para>
|
||||
<para>
|
||||
Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktion include_php</title>
|
||||
<programlisting>
|
||||
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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.include">
|
||||
<title>include (einbinden)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name der Template-Datei, die eingebunden werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Variable, welcher der eingebundene Inhalt zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>[var typ]</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Variablen welche dem Template lokal übergeben werden sollen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Optional kann mit dem <emphasis>assign</emphasis> Attribut definiert werden,
|
||||
in welcher Variable die Ausgabe des mit <emphasis>include</emphasis> eingebundenen
|
||||
Templates abgelegt werden soll statt sie auszugeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>function include (einbinden)</title>
|
||||
<programlisting>
|
||||
{include file="header.tpl"}
|
||||
|
||||
{* hier kommt der body des Templates *}
|
||||
|
||||
{include file="footer.tpl"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>include-Funktion und Variablen Übergabe</title>
|
||||
<programlisting>
|
||||
{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"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Benutzen sie die Syntax von <link linkend="template.resources">template resources</link>,
|
||||
um Templates ausserhalb des '$template_dir' einzubinden:
|
||||
</para>
|
||||
<example>
|
||||
<title>Beispiele für Template-Ressourcen bei der 'include'-Funktion</title>
|
||||
<programlisting>
|
||||
{* 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"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.insert">
|
||||
<title>insert (einfügen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der Insert-Funktion</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name der Template-Variable, in der die Ausgabe der 'insert'-Funktion optional abgelegt wird.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>script</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name des PHP-Skriptes, das vor Aufruf der 'insert'-Funktion eingebunden werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>[var typ]</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Variablen die der 'insert'-Funktion übergeben werden sollen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'insert'-Tags funktionieren ähnlich den 'include'-Tags,
|
||||
werden aber nicht gecached, falls <link linkend="caching">caching</link>
|
||||
eingeschaltet ist. Sie werden bei jedem Aufruf des Templates ausgeführt.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Funktion 'insert'</title>
|
||||
<programlisting>
|
||||
|
||||
{* erzeugen des Banners *}
|
||||
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Als zweites Argument wird der 'insert'-Funktion das Smarty-Objekt selbst
|
||||
übergeben. Damit kann dort auf die Informationen im Smarty-Objekt
|
||||
zugegriffen werden.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
Es gibt die Möglichkeit, Teile des Templates nicht zu cachen.
|
||||
Wenn Sie <link linkend="caching">caching</link> 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.
|
||||
</para>
|
||||
</note>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.ldelim">
|
||||
<title>ldelim,rdelim (Ausgabe der Trennzeichen)</title>
|
||||
<para>
|
||||
ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben -
|
||||
in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu
|
||||
interpretieren.
|
||||
</para>
|
||||
<example>
|
||||
<title>ldelim, rdelim</title>
|
||||
<programlisting>
|
||||
|
||||
{* gibt die konfigurierten Trennzeichen des Templates aus *}
|
||||
|
||||
{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus!
|
||||
|
||||
|
||||
AUSGABE:
|
||||
|
||||
{funktionsname} Funktionen sehen in Smarty so aus!</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.literal">
|
||||
<title>literal</title>
|
||||
<para>
|
||||
'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.</para>
|
||||
<example>
|
||||
<title>literal-Tags</title>
|
||||
<programlisting>
|
||||
{literal}
|
||||
<script language=javascript>
|
||||
|
||||
<!--
|
||||
function isblank(field) {
|
||||
if (field.value == '')
|
||||
{ return false; }
|
||||
else
|
||||
{
|
||||
document.loginform.submit();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// -->
|
||||
|
||||
</script>
|
||||
{/literal}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.php">
|
||||
<title>php</title>
|
||||
<para>
|
||||
'php'-Tags erlauben es, PHP-Code direkt in das Template einzubetten. Der Inhalt
|
||||
wird nicht 'escaped', egal wie <link linkend="variable.php.handling">$php_handling</link>
|
||||
konfiguriert ist.
|
||||
Dieses Tag ist nur für erfahrene Benutzer gedacht und wird
|
||||
auch von diesen normalerweise nicht benötigt.
|
||||
</para>
|
||||
<example>
|
||||
<title>php-Tags</title>
|
||||
<programlisting>
|
||||
{php}
|
||||
// php Skript direkt von Template einbinden
|
||||
include("/pfad/zu/zeige_weather.php");
|
||||
{/php}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,570 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.section">
|
||||
<title>section,sectionelse</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der 'section'</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>loop</entry>
|
||||
<entry>[$variable_name]</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name des Zählers für die Iterationen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>0</emphasis></entry>
|
||||
<entry>
|
||||
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.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>step</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>max</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>Maximale Anzahl an Iterationen, die Durchlaufen werden.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>show</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Definiert ob diese 'section' angezeigt werden soll oder nicht.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Template-'sections' werden verwendet, um durch Arrays zu iterieren.
|
||||
Jedes <emphasis>section</emphasis>-Tag muss mit einem <emphasis>/section</emphasis>-Tag
|
||||
kombiniert werden. <emphasis>name</emphasis> und <emphasis>loop</emphasis> 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.
|
||||
<emphasis>sectionelse</emphasis> wird ausgeführt, wenn keine Werte in der
|
||||
'loop'-Variable enthalten sind.
|
||||
</para>
|
||||
<example>
|
||||
<title>section</title>
|
||||
<programlisting>
|
||||
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>section loop Variable</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>section names</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>nested sections (verschachtelte 'sections')</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>sections und assoziative Arrays</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
|
||||
<example>
|
||||
<title>sectionelse</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Die Eigenschaften der 'section' werden in besonderen Variablen abgelegt.
|
||||
Diese sind wie folgt aufgebaut: {$smarty.section.sectionname.varname}
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<sect2 id="section.property.index">
|
||||
<title>index</title>
|
||||
<para>
|
||||
'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).
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'index'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.index.prev">
|
||||
<title>index_prev</title>
|
||||
<para>
|
||||
'index_prev' wird verwendet um den vorhergehenden Schleifen-Index
|
||||
auszugeben. Bei der ersten Iteration ist dieser Wert -1.
|
||||
</para>
|
||||
<example>
|
||||
<title>section'-Eigenschaft 'index_prev'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.index.next">
|
||||
<title>index_next</title>
|
||||
<para>
|
||||
'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).
|
||||
</para>
|
||||
<example>
|
||||
<title>section'-Eigenschaft 'index_next'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.iteration">
|
||||
<title>iteration</title>
|
||||
<para>
|
||||
'iteration' wird verwendet um die aktuelle Iteration auszugeben.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'iteration'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.first">
|
||||
<title>first</title>
|
||||
<para>
|
||||
|
||||
'first' ist 'true', wenn die aktuelle Iteration die erste dieser 'section' ist.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'first'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.last">
|
||||
<title>last</title>
|
||||
<para>
|
||||
|
||||
'last' ist 'true' wenn die aktuelle Iteration die letzte dieser 'section' ist.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'last'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.rownum">
|
||||
<title>rownum</title>
|
||||
<para>
|
||||
'rownum' wird verwendet um die aktuelle Iteration (startend bei 1) auszugeben.
|
||||
'rownum' ist ein Alias für 'iteration' und arbeitet identisch.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'rownum'</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.loop">
|
||||
<title>loop</title>
|
||||
<para>
|
||||
'loop' wird verwendet, um die Nummer letzte Iteration der 'section' auszugeben.
|
||||
Dieser Wert kann inner- und ausserhalb der 'section' verwendet werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'loop'</title>
|
||||
<programlisting>
|
||||
{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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.show">
|
||||
<title>show</title>
|
||||
<para>
|
||||
<emphasis>show</emphasis> 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.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'show'</title>
|
||||
<programlisting>
|
||||
{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
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.total">
|
||||
<title>total</title>
|
||||
<para>
|
||||
Wird verwendet um die Anzahl der durchlaufenen Iterationen einer
|
||||
'section' auszugeben. Kann innerhalb oder ausserhalb der 'section' verwendet
|
||||
werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>'section'-Eigenschaft 'total'</title>
|
||||
<programlisting>
|
||||
{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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.strip">
|
||||
<title>strip</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
{strip}{/strip} ändert nicht den Inhalt einer Template-Variablen.
|
||||
Dafür gibt es den <link linkend="language.modifier.strip">strip Modifikator</link>.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>strip tags</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.assign">
|
||||
<title>assign (zuweisen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der zuzuweisenden Variable.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>value</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der zuzuweisende Wert.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'assign' wird verwendet um einer Template-Variable einen Wert zuzuweisen.
|
||||
</para>
|
||||
<example>
|
||||
<title>assign (zuweisen)</title>
|
||||
<programlisting>
|
||||
{assign var="name" value="Bob"}
|
||||
|
||||
Der Wert von $name ist {$name}.
|
||||
|
||||
AUSGABE:
|
||||
|
||||
Der Wert von $name ist Bob.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.counter">
|
||||
<title>counter (Zähler)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>Der Name des Zählers.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start</entry>
|
||||
<entry>number</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>Der Initialwert.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>skip</entry>
|
||||
<entry>number</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>Der Interval.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>direction</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>up</emphasis></entry>
|
||||
<entry>Die Richtung (up/down).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>print</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Definiert ob der Wert ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Template-Variable welcher der Wert zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<para>
|
||||
Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Zählers
|
||||
dieser Template-Variable zugewiesen anstatt ausgegeben zu werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>counter (Zähler)</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.cycle">
|
||||
<title>cycle (Zyklus)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>Der Name des Zyklus.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>mixed</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>N/A</emphasis></entry>
|
||||
<entry>
|
||||
Die Werte durch die zirkuliert werden soll, entweder als
|
||||
Komma separierte Liste (siehe 'delimiter'-Attribut), oder
|
||||
als Array.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>print</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Definiert ob die Werte ausgegeben werden sollen oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>advance</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Definiert ob der nächste Wert automatisch angesprungen werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>delimiter</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>,</emphasis></entry>
|
||||
<entry>Das zu verwendende Trennzeichen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der Name der Template-Variable welcher die Ausgabe zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<para>
|
||||
Sie können durch mehrere Sets gleichzeitig iterieren, indem
|
||||
Sie den Sets einmalige Namen geben.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Wenn sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
|
||||
der 'cycle'-Funktion in dieser Template-Variable abgelegt, anstatt ausgegeben zu werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>cycle (Zyklus)</title>
|
||||
<programlisting>
|
||||
|
||||
{* initialisieren *}
|
||||
{cycle values="#eeeeee,#d0d0d0"}
|
||||
{cycle}
|
||||
{cycle}
|
||||
|
||||
|
||||
AUSGABE:
|
||||
|
||||
#eeeeee
|
||||
#d0d0d0
|
||||
#eeeeee</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.debug">
|
||||
<title>debug</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>html</emphasis></entry>
|
||||
<entry>Ausgabe-Typ, entweder HTML oder Javascript.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
{debug} zeigt die 'debugging'-Konsole auf der Seite an. <link linkend="chapter.debugging.console">$debug</link>
|
||||
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.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.eval">
|
||||
<title>eval (auswerten)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>mixed</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Variable oder Zeichenkette die ausgewertet werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Template-Variable welcher die Ausgabe zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'eval' wird verwendet um eine Variable als Template auszuwerten. Dies kann
|
||||
verwendet werden um Template-Tags/Variablen in einer Variable oder
|
||||
einer Konfigurationsdatei abzulegen.
|
||||
</para>
|
||||
<para>
|
||||
Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
|
||||
von 'eval' in dieser Template-Variable gespeichert und nicht ausgegeben.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
Evaluierte Variablen werden gleich wie Template-Variablen verwendet
|
||||
und folgen den selben Maskierungs- und Sicherheits-Features.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>eval (auswerten)</title>
|
||||
<programlisting>
|
||||
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.
|
||||
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.fetch">
|
||||
<title>fetch</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Datei, FTP oder HTTP Seite die geliefert werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Template-Variable welcher die Ausgabe zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<para>
|
||||
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).
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
HTTP-Redirects werden nicht unterstützt, stellen Sie sicher,
|
||||
dass die aufgerufene URL falls nötig durch ein '/'-Zeichen (slash) beendet wird.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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)
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>fetch</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.checkboxes">
|
||||
<title>html_checkboxes (Ausgabe von HTML-CHECKBOX Tag)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>checkbox</emphasis></entry>
|
||||
<entry>Name der checkbox Liste</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>ja, ausser wenn das option Attribut verwendet wird</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>ein Array mit Werten für die checkboxes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>ja, ausser wenn das option Attribut verwendet wird</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>ein Array mit Werten für checkbox Knöpfe</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string/array</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>das/die ausgewählten checkbox Elemente</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>assoziatives array</entry>
|
||||
<entry>Ja, ausser values/output wird verwendet</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>ein assoziatives Array mit Werten und Ausgaben</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>labels</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>fügt der Ausgabe <label>-Tags hinzu</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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
|
||||
</para>
|
||||
<para>
|
||||
Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_checkboxes</title>
|
||||
<programlisting>
|
||||
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 /></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.image">
|
||||
<title>html_image (Ausgabe von HTML-IMG Tag)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Name/Pfad zum Bild</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>border</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>0</emphasis></entry>
|
||||
<entry>Stärke des Rahmens</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>height</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>Normale Höhe des Bildes</emphasis></entry>
|
||||
<entry>Höhe des Bildes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>width</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>Normale Breite des Bildes</emphasis></entry>
|
||||
<entry>Breite des Bildes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>basedir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>DOCUMENTROOT</emphasis></entry>
|
||||
<entry>Basisverzeichnis für relative Pfadangaben</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>alt</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>""</emphasis></entry>
|
||||
<entry>Alternative Beschreibung des Bildes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>href</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Link für das Bild</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>href</parameter> 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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>html_image</title>
|
||||
<programlisting>
|
||||
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" /></programlisting>
|
||||
|
||||
|
||||
|
||||
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.options">
|
||||
<title>html_options (Ausgabe von HTML-Options)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Ja, ausser 'options'-Attribut wird verwendet.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Array mit Werten für die dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Ja, ausser 'options'-Attribut wird verwendet.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Arrays mit Namen für die dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Das ausgewählte Array Element.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>associative array</entry>
|
||||
<entry>Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Assoziatives Array mit Werten die ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_options</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.radios">
|
||||
<title>html_radios (Ausgabe von HTML-RADIO Tags)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>radio</emphasis></entry>
|
||||
<entry>Name der Radio Liste</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Ja, ausser 'options'-Attribut wird verwendet.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Array mit Werten für die dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Ja, ausser 'options'-Attribut wird verwendet.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Arrays mit Namen für die dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Das ausgewählte Array Element.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>associative array</entry>
|
||||
<entry>Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Assoziatives Array mit Werten die ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Die Zeichenkette die zwischen 2 Radioelemente eingefügt werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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
|
||||
</para>
|
||||
<example>
|
||||
<title>html_radios</title>
|
||||
<programlisting>
|
||||
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 /></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,300 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.select.date">
|
||||
<title>html_select_date (Ausgabe von Daten als HTML-'options')</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>prefix</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>Date_</entry>
|
||||
<entry>Prefix für die Namen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>time</entry>
|
||||
<entry>timestamp/YYYY-MM-DD</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>Aktuelle Zeit als Unix-Timestamp, oder in YYYY-MM-DD format.</entry>
|
||||
<entry>Das zu verwendende Datum.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start_year</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>aktuelles Jahr</entry>
|
||||
<entry>Das erste Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>end_year</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>Gegenteil von start_year</entry>
|
||||
<entry>Das letzte Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_days</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Tage ausgegeben sollen oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_months</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Monate ausgegeben werden sollen oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_years</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Jahre ausgegeben werden sollen oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>%B</entry>
|
||||
<entry>Format in welchem der Monat ausgegeben werden soll. (strftime)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>%02d</entry>
|
||||
<entry>Definiert das Format in welchem der Tag ausgegeben werden soll. (sprintf)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_as_text</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob das Jahr als Text ausgegeben werden soll oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>reverse_years</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob die Daten in verkehrter Reihenfolge ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_array</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>
|
||||
Wenn ein Namen übergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zurückgegeben.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem 'select'-Tag das Attribut 'size' hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem 'select'-Tag das Attribut 'size' hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem 'select'-Tag das Attribut 'size' hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>all_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt allen 'select'-Tags zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt 'select'-Tags zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt 'select'-Tags zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt 'select'-Tags zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_order</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>MDY</entry>
|
||||
<entry>Die Reihenfolge in der die Felder ausgegeben werden.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>\n</entry>
|
||||
<entry>Zeichenkette die zwischen den Feldern ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_value_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>%m</entry>
|
||||
<entry>Format zur Ausgabe der Monats-Werte, Standardwert ist %m. (strftime)</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'html_select_date' wird verwendet um Datums-Dropdown-Listen zu erzeugen,
|
||||
und kann einen oder alle der folgenden Werte darstellen: Jahr, Monat und Tag
|
||||
</para>
|
||||
<example>
|
||||
<title>html_select_date</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
<example>
|
||||
<title>html_select_date</title>
|
||||
<programlisting>
|
||||
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,317 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.select.time">
|
||||
<title>html_select_time (Ausgabe von Zeiten als HTML-'options')</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>prefix</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>Time_</entry>
|
||||
<entry>Prefix des Namens.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>time</entry>
|
||||
<entry>timestamp</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>Aktuelle Uhrzeit.</entry>
|
||||
<entry>Definiert die zu verwendende Uhrzeit.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_hours</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Stunden ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_minutes</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Minuten ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_seconds</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob Sekunden ausgegeben werden sollen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_meridian</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob der Meridian (am/pm) ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>use_24_hours</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>true</entry>
|
||||
<entry>Definiert ob die Stunden in 24-Stunden Format angezeigt werden sollen oder nicht.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>minute_interval</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>1</entry>
|
||||
<entry>Definiert den Interval in der Minuten-Dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>second_interval</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>1</entry>
|
||||
<entry>Definiert den Interval in der Sekunden-Dropdown-Liste.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_array</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>n/a</entry>
|
||||
<entry>Gibt die Daten in einen Array dieses Namens aus.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>all_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt allen 'select'-Tags zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>hour_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem Stunden-'select'-Tag zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>minute_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem Minuten-'select'-Tag zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>second_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem Sekunden-'select'-Tag zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>meridian_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>Fügt dem Meridian-'select'-Tag zusätzliche Attribute hinzu.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_select_time</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.table">
|
||||
<title>html_table (Ausgabe von HTML-TABLE Tag)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standartwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>loop</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Array mit den Daten für den Loop</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>cols</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>3</emphasis></entry>
|
||||
<entry>Anzahl Spalten in einer Tabelle</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>table_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>border="1"</emphasis></entry>
|
||||
<entry>Attribute für das Table-Tag</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>tr_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Attribute für das tr-Tag (Arrays werden durchlaufen)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>td_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>Attribute für das tr-Tag (Arrays werden durchlaufen)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>trailpad</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>&nbsp;</emphasis></entry>
|
||||
<entry>Wert für leere Zellen</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>hdir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>right</emphasis></entry>
|
||||
<entry>Richtung in der die Zeilen gerendered werden. Mögliche Werte: <emphasis>left</emphasis>/<emphasis>right</emphasis></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>vdir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>down</emphasis></entry>
|
||||
<entry>Richtung in der die Spalten gerendered werden. Mögliche Werte: <emphasis>up</emphasis>/<emphasis>down</emphasis></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
<emphasis>html_table</emphasis> ist eine eigene Funktion die einen Array als
|
||||
Tabelle ausgibt. Das <emphasis>cols</emphasis> Attribut definiert die Menge
|
||||
von Spalten die ausgegeben werden sollen. <emphasis>table_attr</emphasis>, <emphasis>tr_attr</emphasis>
|
||||
und <emphasis>td_attr</emphasis> definieren die Attribute für die HTML Tags. Wenn <emphasis>tr_attr</emphasis>
|
||||
oder <emphasis>td_attr</emphasis> Arrays sind, werden diese durchlaufen. <emphasis>trailpad</emphasis>
|
||||
wird in leere Zellen eingefügt.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_table</title>
|
||||
<programlisting>
|
||||
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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.math">
|
||||
<title>math (Mathematik)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>equation</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Der auszuführende Vergleich.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Format der Ausgabe. (sprintf)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>numeric</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Wert der Vergleichsvariable.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Template-Variable welcher die Ausgabe zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>numeric</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Zusätzliche Werte.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technische Bemerkung</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>math (Mathematik)</title>
|
||||
<programlisting>
|
||||
{* $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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.popup.init">
|
||||
<title>popup_init (Popup Initialisieren)</title>
|
||||
<para>
|
||||
'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 <link linkend="language.function.popup">popup</link>-Funktion
|
||||
zu verwenden. Der Author von 'overLib' ist Erik Bosrup, und die
|
||||
Homepage ist unter http://www.bosrup.com/web/overlib/ erreichbar.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>popup_init</title>
|
||||
<programlisting>
|
||||
|
||||
{* 'popup_init' muss einmalig am Anfang der Seite aufgerufen werden *}
|
||||
{popup_init src="/javascripts/overlib.js"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,411 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.popup">
|
||||
<title>popup (Popup-Inhalt definieren)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>text</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Text/HTML der im Popup ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>trigger</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>onMouseOver</emphasis></entry>
|
||||
<entry>Definiert bei welchem Event das Popup aufgerufen werden soll. Erlaubte Werte sind: onMouseOver und onClick</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>sticky</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Definiert ob das Popup geöffnet bleiben soll bis es manuell geschlossen wird.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>caption</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert die Überschrift.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>fgcolor</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Hintergrundfarbe des Popups.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>bgcolor</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Rahmenfarbe des Popups.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>textcolor</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Farbe des Textes im Popup.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>capcolor</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Farbe der Popup-Überschrift.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>closecolor</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Farbe des 'close'-Textes.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>textfont</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Farbe des Textes.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>captionfont</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Schriftart für die Überschrift.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>closefont</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Schriftart für den 'close'-Text.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>textsize</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Schriftgrösse des Textes.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>captionsize</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Schriftgrösse der Überschrift.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>closesize</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Schriftgrösse des 'close'-Textes.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>width</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Breite der Popup-Box.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>height</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Höhe der Popup-Box.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>left</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Öffnet die Popup-Box links von Mauszeiger.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>right</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Öffnet die Popup-Box rechts von Mauszeiger.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>center</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Öffnet die Popup-Box in der Mitte des Mauszeigers.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>above</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Öffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur möglich wenn 'height' definiert ist.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>below</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Öffnet die Popup-Box unterhalb des Mauszeigers.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>border</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Rahmenbreite der Popup-Box.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>offsetx</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Horizontale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>offsety</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Vertikale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>fgbackground</entry>
|
||||
<entry>url to image</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Das Hintergundbild.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>bgbackground</entry>
|
||||
<entry>url to image</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>closetext</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert den Text des 'close'-Links.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>noclose</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Zeigt den 'close'-Link nicht an.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>status</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert den Text der in der Browser-Statuszeile ausgegeben wird.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>autostatus</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Gibt als Statusinformationen den Popup-Text aus. Achtung: Dies überschreibt die definierten Statuswerte.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>autostatuscap</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Zeigt in der Statusleiste den Wert der Popup-Überschrift an. Achtung: Dies überschreibt die definierten Statuswerte.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>inarray</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>
|
||||
Weist 'overLib' an, den Wert aus dem in 'overlib.js' definierten Array 'ol_text' zu lesen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>caparray</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Weist 'overLib' an, die Überschrift aus dem in 'overlib.js' definierten Array 'ol_caps' zu lesen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>capicon</entry>
|
||||
<entry>url</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Zeigt das übergebene Bild vor der Überschrift an.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>snapx</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Aliniert das Popup an einem horizontalen Gitter.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>snapy</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Aliniert das Popup an einem vertikalen Gitter.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>fixx</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Fixiert das Popup an der definierten horizontalen Position. Achtung: überschreibt alle anderen horizontalen Positionen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>fixy</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Fixiert das Popup an der definierten vertikalen Position. Achtung: überschreibt alle anderen vertikalen Positionen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>background</entry>
|
||||
<entry>url</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert das Hintergrundbild welches anstelle des Tabellenhintergrundes verwendet werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>padx</entry>
|
||||
<entry>integer,integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Erzeugt horizontale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>pady</entry>
|
||||
<entry>integer,integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Erzeugt vertikale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>fullhtml</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Lässt Sie den HTML-Code betreffend einem Hintergrundbild komplett kontrollieren.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>frame</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Kontrolliert Popups in einem anderen Frame. Sehen sie die 'overLib'-Seite für zusätzliche Informationen zu dieser Funktion.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>timeout</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Führt die übergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text für das Popup.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>delay</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Macht, dass sich das Popup wie ein Tooltip verhält, und nach den definierten Millisekunden verschwindet.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>hauto</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Lässt 'overLib' automatisch definieren an welcher Seite (links/rechts) des Mauszeigers das Popup ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>vauto</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Lässt 'overLib' automatisch definieren an welcher Seite (oben/unten) des Mauszeigers das Popup ausgegeben werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'popup' wird verwendet um Javascript-Popup-Fenster zu erzeugen.
|
||||
</para>
|
||||
<example>
|
||||
<title>popup</title>
|
||||
<programlisting>
|
||||
|
||||
{* '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.)</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,251 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.textformat">
|
||||
<title>textformat (Textformatierung)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribut Name</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>style</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>aktueller Stil</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>indent</entry>
|
||||
<entry>number</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>0</emphasis></entry>
|
||||
<entry>Anzahl Zeichen die für das einrücken von Zeilen verwendet werden.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>indent_first</entry>
|
||||
<entry>number</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>0</emphasis></entry>
|
||||
<entry>Anzahl Zeichen die für das Einrücken der ersten Zeile verwendet werden.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>indent_char</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>(single space)</emphasis></entry>
|
||||
<entry>Das Zeichen welches zum Einrücken verwendet werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>wrap</entry>
|
||||
<entry>number</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>80</emphasis></entry>
|
||||
<entry>Maximale Zeilenlänge bevor die Zeile umgebrochen wird.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>wrap_char</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>\n</emphasis></entry>
|
||||
<entry>Das für Zeilenumbrüche zu verwendende Zeichen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>wrap_cut</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>false</emphasis></entry>
|
||||
<entry>Wenn auf 'true' gesetzt, wird die Zeile an der definierten Position abgeschnitten.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die Template-Variable welcher die Ausgabe zugewiesen werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
'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.
|
||||
</para>
|
||||
<para>
|
||||
Sie können entweder den aktuellen Stil verwenden, oder ihn anhand
|
||||
der Parameter selber definieren. Im Moment ist 'email' der einzig verfügbare Stil.
|
||||
</para>
|
||||
<example>
|
||||
<title>textformat (Text Formatierung)</title>
|
||||
<programlisting>
|
||||
{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.
|
||||
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -35,953 +35,26 @@ Thema: {$thema|truncate:40:"..."}</programlisting>
|
||||
müssen alle verwendeten PHP Funktionen im <link linkend="variable.security.settings">$security_settings['MODIFIER_FUNCS']</link>-Array
|
||||
enthalten sein.
|
||||
</para>
|
||||
<sect1 id="language.modifier.capitalize">
|
||||
<title>capitalize (in Grossbuchstaben schreiben)</title>
|
||||
<para>
|
||||
Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben.
|
||||
</para>
|
||||
<example>
|
||||
<title>capitalize (in Grossbuchstaben schreiben)</title>
|
||||
<programlisting>
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|capitalize}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
diebe haben in norwegen 20 tonnen streusalz entwendet.
|
||||
Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.count.characters">
|
||||
<title>count_characters (Buchstaben zählen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Benötigt</entry>
|
||||
<entry>Standard</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob Leerzeichen mitgezählt werden sollen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_characters (Buchstaben zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|count_characters}
|
||||
{$artikelTitel|count_characters:true}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte.
|
||||
72
|
||||
61</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.cat">
|
||||
<title>cat</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="cat" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Benötigt</entry>
|
||||
<entry>Standard</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>leer/empty</emphasis></entry>
|
||||
<entry>Wert der an die Variable angefügt werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Dieser Wert wird der aktuellen Variable hinzugefügt.
|
||||
</para>
|
||||
<example>
|
||||
<title>cat</title>
|
||||
<programlisting>
|
||||
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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.count.paragraphs">
|
||||
<title>count_paragraphs (Absätze zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_paragraphs (Paragrafen zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.count.sentences">
|
||||
<title>count_sentences (Sätze zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_sentences (Sätze zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.count.words">
|
||||
<title>count_words (Wörter zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_words (Wörter zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|count_words}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose.
|
||||
12</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.date.format">
|
||||
<title>date_format (Datums Formatierung)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>%b %e, %Y</entry>
|
||||
<entry>Das Format des ausgegebenen Datums.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>n/a</entry>
|
||||
<entry>Der Standardwert (Datum) wenn die Eingabe leer ist.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>date_format (Datums Formatierung)</title>
|
||||
<programlisting>
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
<example>
|
||||
<title>'date_format' Konvertierungs Spezifikation</title>
|
||||
<programlisting>
|
||||
%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 <20> 0<> bis <20>31<33>)
|
||||
|
||||
%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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.default">
|
||||
<title>default (Standardwert)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>leer</emphasis></entry>
|
||||
<entry>Dieser Wert wird ausgegeben wenn die Variable leer ist.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>default (Standardwert)</title>
|
||||
<programlisting>
|
||||
{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *}
|
||||
{$artikelTitel|default:"kein Titel"}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
kein Titel</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.escape">
|
||||
<title>escape (Maskieren)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="6">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="possible" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Mögliche (erlaubte) Werte</entry>
|
||||
<entry>Standardwerte</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>html, htmlall, url, quotes, hex, hexentity</entry>
|
||||
<entry>html</entry>
|
||||
<entry>Definiert die zu verwendende Maskierung.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>escape (Maskieren)</title>
|
||||
<programlisting>
|
||||
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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.indent">
|
||||
<title>indent (Einrücken)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>4</entry>
|
||||
<entry>Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>(ein Leerschlag)</entry>
|
||||
<entry>Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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').
|
||||
</para>
|
||||
<example>
|
||||
<title>indent (Einrücken)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.lower">
|
||||
<title>lower (in Kleinbuchstaben schreiben)</title>
|
||||
<para>
|
||||
Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>lower (in Kleinbuchstaben schreiben)</title>
|
||||
<programlisting>
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|lower}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen.
|
||||
in kalifornien wurde ein hund in das wählerverzeichnis eingetragen.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.regex.replace">
|
||||
<title>regex_replace (Ersetzen mit regulären Ausdrücken)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert das zu ersetzende Suchmuster, als regulären Ausdruck.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert die ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace().
|
||||
</para>
|
||||
<example>
|
||||
<title>regex_replace (Ersetzen mit regulären Ausdrücken)</title>
|
||||
<programlisting>
|
||||
{* 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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.replace">
|
||||
<title>replace (Ersetzen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die zu ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Einfaches suchen/ersetzen in einer Variable.
|
||||
</para>
|
||||
<example>
|
||||
<title>replace (Ersetzen)</title>
|
||||
<programlisting>
|
||||
{$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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.spacify">
|
||||
<title>spacify (Zeichenkette splitten)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>ein Leerzeichen</emphasis></entry>
|
||||
<entry>Definiert die zwischen allen Zeichen einzufügende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein.
|
||||
Eine alternativ einzufügende Zeichenkette kann über
|
||||
den ersten Parameter definiert werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>spacify (Zeichenkette splitten)</title>
|
||||
<programlisting>
|
||||
{$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^^.^^</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.string.format">
|
||||
<title>string_format (Zeichenkette formatieren)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erfoderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Das zu verwendende Format (sprintf).</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren.
|
||||
Folgt der Formatierungs-Syntax von sprintf.
|
||||
</para>
|
||||
<example>
|
||||
<title>string_format (Zeichenkette formatieren)</title>
|
||||
<programlisting>
|
||||
{$wert}
|
||||
{$wert|string_format:"%.2f"}
|
||||
{$wert|string_format:"%d"}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
23.5787446
|
||||
23.58
|
||||
24</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.strip">
|
||||
<title>strip (Zeichenkette strippen)</title>
|
||||
<para>
|
||||
Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen
|
||||
oder eine alternative Zeichenkette.
|
||||
</para>
|
||||
<note>
|
||||
<title>Achtung</title>
|
||||
<para>
|
||||
Falls Sie ganze Blöcke eines Templates 'strippen' möchten,
|
||||
verwenden Sie dazu <link linkend="language.function.strip">strip</link>.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>strip (Zeichenkette strippen)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.strip.tags">
|
||||
<title>strip_tags (HTML-Tags entfernen)</title>
|
||||
<para>
|
||||
Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind.
|
||||
</para>
|
||||
<example>
|
||||
<title>strip_tags (HTML-Tags entfernen)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.truncate">
|
||||
<title>truncate (kürzen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>80</entry>
|
||||
<entry>Länge, auf die die Zeichenkette gekürzt werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>...</entry>
|
||||
<entry> An die gekürzte Zeichenkette anzuhängende Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>3</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>truncate (kürzen)</title>
|
||||
<programlisting>
|
||||
{$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...</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.upper">
|
||||
<title>upper (in Grossbuchstaben umwandeln)</title>
|
||||
<para>
|
||||
Wandelt eine Zeichenkette in Grossbuchstaben um.
|
||||
</para>
|
||||
<example>
|
||||
<title>upper (in Grossbuchstaben umwandeln)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.modifier.wordwrap">
|
||||
<title>wordwrap (Zeilenumbruch)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>80</entry>
|
||||
<entry>Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>\n</entry>
|
||||
<entry>Definiert das zu verwendende Zeichen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>3</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true).</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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'.
|
||||
</para>
|
||||
<example>
|
||||
<title>wordwrap (Zeilenumbruch)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
&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;
|
||||
|
||||
</chapter>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.capitalize">
|
||||
<title>capitalize (in Grossbuchstaben schreiben)</title>
|
||||
<para>
|
||||
Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben.
|
||||
</para>
|
||||
<example>
|
||||
<title>capitalize (in Grossbuchstaben schreiben)</title>
|
||||
<programlisting>
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|capitalize}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
diebe haben in norwegen 20 tonnen streusalz entwendet.
|
||||
Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.cat">
|
||||
<title>cat</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="cat" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Benötigt</entry>
|
||||
<entry>Standard</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>leer/empty</emphasis></entry>
|
||||
<entry>Wert der an die Variable angefügt werden soll.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Dieser Wert wird der aktuellen Variable hinzugefügt.
|
||||
</para>
|
||||
<example>
|
||||
<title>cat</title>
|
||||
<programlisting>
|
||||
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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.count.characters">
|
||||
<title>count_characters (Buchstaben zählen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Benötigt</entry>
|
||||
<entry>Standard</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob Leerzeichen mitgezählt werden sollen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_characters (Buchstaben zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|count_characters}
|
||||
{$artikelTitel|count_characters:true}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte.
|
||||
72
|
||||
61</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.count.paragraphs">
|
||||
<title>count_paragraphs (Absätze zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_paragraphs (Paragrafen zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.count.sentences">
|
||||
<title>count_sentences (Sätze zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_sentences (Sätze zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.count.words">
|
||||
<title>count_words (Wörter zählen)</title>
|
||||
<para>
|
||||
Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln.
|
||||
</para>
|
||||
<example>
|
||||
<title>count_words (Wörter zählen)</title>
|
||||
<programlisting>
|
||||
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|count_words}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose.
|
||||
12</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.date.format">
|
||||
<title>date_format (Datums Formatierung)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>%b %e, %Y</entry>
|
||||
<entry>Das Format des ausgegebenen Datums.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>n/a</entry>
|
||||
<entry>Der Standardwert (Datum) wenn die Eingabe leer ist.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>date_format (Datums Formatierung)</title>
|
||||
<programlisting>
|
||||
{$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</programlisting>
|
||||
</example>
|
||||
<example>
|
||||
<title>'date_format' Konvertierungs Spezifikation</title>
|
||||
<programlisting>
|
||||
%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 <20> 0<> bis <20>31<33>)
|
||||
|
||||
%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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.default">
|
||||
<title>default (Standardwert)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>leer</emphasis></entry>
|
||||
<entry>Dieser Wert wird ausgegeben wenn die Variable leer ist.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>default (Standardwert)</title>
|
||||
<programlisting>
|
||||
{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *}
|
||||
{$artikelTitel|default:"kein Titel"}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
kein Titel</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.escape">
|
||||
<title>escape (Maskieren)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="6">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="possible" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Mögliche (erlaubte) Werte</entry>
|
||||
<entry>Standardwerte</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>html, htmlall, url, quotes, hex, hexentity</entry>
|
||||
<entry>html</entry>
|
||||
<entry>Definiert die zu verwendende Maskierung.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>escape (Maskieren)</title>
|
||||
<programlisting>
|
||||
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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.indent">
|
||||
<title>indent (Einrücken)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>4</entry>
|
||||
<entry>Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>(ein Leerschlag)</entry>
|
||||
<entry>Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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').
|
||||
</para>
|
||||
<example>
|
||||
<title>indent (Einrücken)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.lower">
|
||||
<title>lower (in Kleinbuchstaben schreiben)</title>
|
||||
<para>
|
||||
Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben.
|
||||
</para>
|
||||
<example>
|
||||
<title>lower (in Kleinbuchstaben schreiben)</title>
|
||||
<programlisting>
|
||||
{$artikelTitel}
|
||||
{$artikelTitel|lower}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen.
|
||||
in kalifornien wurde ein hund in das wählerverzeichnis eingetragen.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.regex.replace">
|
||||
<title>regex_replace (Ersetzen mit regulären Ausdrücken)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert das zu ersetzende Suchmuster, als regulären Ausdruck.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Definiert die ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace().
|
||||
</para>
|
||||
<example>
|
||||
<title>regex_replace (Ersetzen mit regulären Ausdrücken)</title>
|
||||
<programlisting>
|
||||
{* 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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.replace">
|
||||
<title>replace (Ersetzen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die zu ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Die ersetzende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Einfaches suchen/ersetzen in einer Variable.
|
||||
</para>
|
||||
<example>
|
||||
<title>replace (Ersetzen)</title>
|
||||
<programlisting>
|
||||
{$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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.spacify">
|
||||
<title>spacify (Zeichenkette splitten)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry><emphasis>ein Leerzeichen</emphasis></entry>
|
||||
<entry>Definiert die zwischen allen Zeichen einzufügende Zeichenkette.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein.
|
||||
Eine alternativ einzufügende Zeichenkette kann über
|
||||
den ersten Parameter definiert werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>spacify (Zeichenkette splitten)</title>
|
||||
<programlisting>
|
||||
{$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^^.^^</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.string.format">
|
||||
<title>string_format (Zeichenkette formatieren)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erfoderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Ja</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>Das zu verwendende Format (sprintf).</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren.
|
||||
Folgt der Formatierungs-Syntax von sprintf.
|
||||
</para>
|
||||
<example>
|
||||
<title>string_format (Zeichenkette formatieren)</title>
|
||||
<programlisting>
|
||||
{$wert}
|
||||
{$wert|string_format:"%.2f"}
|
||||
{$wert|string_format:"%d"}
|
||||
|
||||
AUSGABE:
|
||||
|
||||
23.5787446
|
||||
23.58
|
||||
24</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.strip.tags">
|
||||
<title>strip_tags (HTML-Tags entfernen)</title>
|
||||
<para>
|
||||
Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind.
|
||||
</para>
|
||||
<example>
|
||||
<title>strip_tags (HTML-Tags entfernen)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.strip">
|
||||
<title>strip (Zeichenkette strippen)</title>
|
||||
<para>
|
||||
Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen
|
||||
oder eine alternative Zeichenkette.
|
||||
</para>
|
||||
<note>
|
||||
<title>Achtung</title>
|
||||
<para>
|
||||
Falls Sie ganze Blöcke eines Templates 'strippen' möchten,
|
||||
verwenden Sie dazu <link linkend="language.function.strip">strip</link>.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>strip (Zeichenkette strippen)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.truncate">
|
||||
<title>truncate (kürzen)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>80</entry>
|
||||
<entry>Länge, auf die die Zeichenkette gekürzt werden soll.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>...</entry>
|
||||
<entry> An die gekürzte Zeichenkette anzuhängende Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>3</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>truncate (kürzen)</title>
|
||||
<programlisting>
|
||||
{$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...</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.upper">
|
||||
<title>upper (in Grossbuchstaben umwandeln)</title>
|
||||
<para>
|
||||
Wandelt eine Zeichenkette in Grossbuchstaben um.
|
||||
</para>
|
||||
<example>
|
||||
<title>upper (in Grossbuchstaben umwandeln)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.modifier.wordwrap">
|
||||
<title>wordwrap (Zeilenumbruch)</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Parameter Position</entry>
|
||||
<entry>Typ</entry>
|
||||
<entry>Erforderlich</entry>
|
||||
<entry>Standardwert</entry>
|
||||
<entry>Beschreibung</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>1</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>80</entry>
|
||||
<entry>Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>2</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>\n</entry>
|
||||
<entry>Definiert das zu verwendende Zeichen.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>3</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>Nein</entry>
|
||||
<entry>false</entry>
|
||||
<entry>Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true).</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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'.
|
||||
</para>
|
||||
<example>
|
||||
<title>wordwrap (Zeilenumbruch)</title>
|
||||
<programlisting>
|
||||
{$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.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -20,201 +20,10 @@
|
||||
<body bgcolor="{#bgcolor#}"></programlisting>
|
||||
</para>
|
||||
|
||||
<sect1 id="language.assigned.variables">
|
||||
<title>Aus einem PHP-Skript zugewiesene Variablen</title>
|
||||
<para>
|
||||
Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen <literal>$</literal>
|
||||
versehen werden.
|
||||
</para>
|
||||
<example>
|
||||
&designers.language-variables.language-assigned-variables;
|
||||
&designers.language-variables.language-config-variables;
|
||||
|
||||
<title>zugewiesene Variablen</title>
|
||||
<programlisting>
|
||||
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.</programlisting>
|
||||
</example>
|
||||
|
||||
<sect2 id="language.variables.assoc.arrays">
|
||||
<title>Assoziative Arrays</title>
|
||||
<para>
|
||||
Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen,
|
||||
indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff auf Variablen eines assoziativen Arrays</title>
|
||||
<programlisting>
|
||||
{$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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="language.variables.array.indexes">
|
||||
<title>Array Index</title>
|
||||
<para>
|
||||
Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff über den Array Index</title>
|
||||
<programlisting>
|
||||
{$Kontakte[0]}<br>
|
||||
{$Kontakte[1]}<br>
|
||||
{* auch hier sind multidimensionale Arrays möglich *}
|
||||
{$Kontakte[0][0]}<br>
|
||||
{$Kontakte[0][1]}<br></programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="language.variables.objects">
|
||||
<title>Objekte</title>
|
||||
<para>
|
||||
Attribute von aus PHP zugewiesenen Objekten können
|
||||
über das '->'-Symbol erreicht werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff auf Objekt-Attribute</title>
|
||||
<programlisting>
|
||||
name: {$person->name}<br>
|
||||
email: {$person->email}<br>
|
||||
|
||||
AUSGABE:
|
||||
|
||||
name: Zaphod Beeblebrox<br>
|
||||
email: zaphod@slartibartfast.com<br></programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<sect1 id="language.config.variables">
|
||||
<title>Verwendung von Variablen aus Konfigurationsdateien</title>
|
||||
<para>
|
||||
Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit
|
||||
umschliessenden '#'-Zeichen (Raute).
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Konfigurationsvariablen</title>
|
||||
<programlisting>
|
||||
<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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Variablen aus Konfigurationsdateien können erst verwendet werden,
|
||||
wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt
|
||||
<command>config_load</command> weiter unten näher erläutert.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.variables.smarty">
|
||||
<title>Die reservierte {$smarty} Variable</title>
|
||||
<para>
|
||||
Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen
|
||||
zuzugreifen. Im Folgenden die Liste der Variablen:
|
||||
</para>
|
||||
|
||||
<sect2 id="language.variables.smarty.request">
|
||||
<title>Request-Variablen</title>
|
||||
<para>
|
||||
Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session'
|
||||
kann wie folgt zugegriffen werden:
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Ausgabe der Requestvariablen (Anfragevariablen)</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.now">
|
||||
<title>{$smarty.now}</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Verwendung von {$smarty.now}</title>
|
||||
<programlisting>
|
||||
{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *}
|
||||
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.capture">
|
||||
<title>{$smarty.capture}</title>
|
||||
<para>
|
||||
Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann
|
||||
via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt
|
||||
zu <link linkend="language.function.capture">capture</link>.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.loops">
|
||||
<title>{$smarty.section}, {$smarty.foreach}</title>
|
||||
<para>
|
||||
{$smarty} wird auch verwendet, um auf Eigenschaften von
|
||||
'section' und 'foreach' Schleifen zuzugreifen. Weitere
|
||||
Informationen dazu finden sie in der Dokumentation
|
||||
von <link linkend="language.function.section">section</link>
|
||||
und <link linkend="language.function.foreach">foreach</link>.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.template">
|
||||
<title>{$smarty.template}</title>
|
||||
<para>
|
||||
Diese Variable enthält den Namen des gerade verarbeiteten Templates.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
&designers.language-variables.language-variables-smarty;
|
||||
</chapter>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.assigned.variables">
|
||||
<title>Aus einem PHP-Skript zugewiesene Variablen</title>
|
||||
<para>
|
||||
Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen <literal>$</literal>
|
||||
versehen werden.
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>zugewiesene Variablen</title>
|
||||
<programlisting>
|
||||
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.</programlisting>
|
||||
</example>
|
||||
|
||||
<sect2 id="language.variables.assoc.arrays">
|
||||
<title>Assoziative Arrays</title>
|
||||
<para>
|
||||
Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen,
|
||||
indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff auf Variablen eines assoziativen Arrays</title>
|
||||
<programlisting>
|
||||
{$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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="language.variables.array.indexes">
|
||||
<title>Array Index</title>
|
||||
<para>
|
||||
Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff über den Array Index</title>
|
||||
<programlisting>
|
||||
{$Kontakte[0]}<br>
|
||||
{$Kontakte[1]}<br>
|
||||
{* auch hier sind multidimensionale Arrays möglich *}
|
||||
{$Kontakte[0][0]}<br>
|
||||
{$Kontakte[0][1]}<br></programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="language.variables.objects">
|
||||
<title>Objekte</title>
|
||||
<para>
|
||||
Attribute von aus PHP zugewiesenen Objekten können
|
||||
über das '->'-Symbol erreicht werden.
|
||||
</para>
|
||||
<example>
|
||||
<title>Zugriff auf Objekt-Attribute</title>
|
||||
<programlisting>
|
||||
name: {$person->name}<br>
|
||||
email: {$person->email}<br>
|
||||
|
||||
AUSGABE:
|
||||
|
||||
name: Zaphod Beeblebrox<br>
|
||||
email: zaphod@slartibartfast.com<br></programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.config.variables">
|
||||
<title>Verwendung von Variablen aus Konfigurationsdateien</title>
|
||||
<para>
|
||||
Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit
|
||||
umschliessenden '#'-Zeichen (Raute).
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Konfigurationsvariablen</title>
|
||||
<programlisting>
|
||||
<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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Variablen aus Konfigurationsdateien können erst verwendet werden,
|
||||
wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt
|
||||
<command>config_load</command> weiter unten näher erläutert.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.variables.smarty">
|
||||
<title>Die reservierte {$smarty} Variable</title>
|
||||
<para>
|
||||
Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen
|
||||
zuzugreifen. Im Folgenden die Liste der Variablen:
|
||||
</para>
|
||||
|
||||
<sect2 id="language.variables.smarty.request">
|
||||
<title>Request-Variablen</title>
|
||||
<para>
|
||||
Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session'
|
||||
kann wie folgt zugegriffen werden:
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Ausgabe der Requestvariablen (Anfragevariablen)</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.now">
|
||||
<title>{$smarty.now}</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
|
||||
<title>Verwendung von {$smarty.now}</title>
|
||||
<programlisting>
|
||||
{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *}
|
||||
{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.capture">
|
||||
<title>{$smarty.capture}</title>
|
||||
<para>
|
||||
Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann
|
||||
via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt
|
||||
zu <link linkend="language.function.capture">capture</link>.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.loops">
|
||||
<title>{$smarty.section}, {$smarty.foreach}</title>
|
||||
<para>
|
||||
{$smarty} wird auch verwendet, um auf Eigenschaften von
|
||||
'section' und 'foreach' Schleifen zuzugreifen. Weitere
|
||||
Informationen dazu finden sie in der Dokumentation
|
||||
von <link linkend="language.function.section">section</link>
|
||||
und <link linkend="language.function.foreach">foreach</link>.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="language.variables.smarty.template">
|
||||
<title>{$smarty.template}</title>
|
||||
<para>
|
||||
Diese Variable enthält den Namen des gerade verarbeiteten Templates.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -15,216 +15,15 @@
|
||||
place.
|
||||
</para>
|
||||
|
||||
<sect1 id="language.syntax.comments">
|
||||
<title>Comments</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Comments</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{* Smarty *}
|
||||
&designers.language-basic-syntax.language-syntax-comments;
|
||||
|
||||
{* include the header file here *}
|
||||
{include file="header.tpl"}
|
||||
&designers.language-basic-syntax.language-syntax-functions;
|
||||
|
||||
{include file=$includeFile}
|
||||
&designers.language-basic-syntax.language-syntax-attributes;
|
||||
&designers.language-basic-syntax.language-syntax-quotes;
|
||||
&designers.language-basic-syntax.language-math;
|
||||
|
||||
{include file=#includeFile#}
|
||||
|
||||
{* display dropdown lists *}
|
||||
<select name="company">
|
||||
{html_options values=$vals selected=$selected output=$output}
|
||||
</select>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.syntax.functions">
|
||||
<title>Functions</title>
|
||||
<para>
|
||||
Each Smarty tag either prints a
|
||||
<link linkend="language.variables">variable</link> 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"}.
|
||||
</para>
|
||||
<example>
|
||||
<title>function syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{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"}
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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 <command>if</command>, <command>section</command> and
|
||||
<command>strip</command>. 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. <command>html_options</command> and
|
||||
<command>html_select_date</command> are examples of custom functions.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.syntax.attributes">
|
||||
<title>Attributes</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Some attributes require boolean values (true or false). These can be
|
||||
specified as either unquoted <literal>true</literal>,
|
||||
<literal>on</literal>, and <literal>yes</literal>, or
|
||||
<literal>false</literal>, <literal>off</literal>, and
|
||||
<literal>no</literal>.
|
||||
</para>
|
||||
<example>
|
||||
<title>function attribute syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{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>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.syntax.quotes">
|
||||
<title>Embedding Vars in Double Quotes</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>embedded quotes syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
SYNTAX EXAMPLES:
|
||||
{func var="test $foo test"} <-- sees $foo
|
||||
{func var="test $foo_bar test"} <-- sees $foo_bar
|
||||
{func var="test $foo[0] test"} <-- sees $foo[0]
|
||||
{func var="test $foo[bar] test"} <-- sees $foo[bar]
|
||||
{func var="test $foo.bar test"} <-- sees $foo (not $foo.bar)
|
||||
{func var="test `$foo.bar` test"} <-- sees $foo.bar
|
||||
|
||||
PRACTICAL EXAMPLES:
|
||||
{include file="subdir/$tpl_name.tpl"} <-- will replace $tpl_name with value
|
||||
{cycle values="one,two,`$smarty.config.myval`"} <-- must have backticks
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<sect1 id="language.math">
|
||||
<title>Math</title>
|
||||
<para>
|
||||
Math can be applied directly to variable values.
|
||||
</para>
|
||||
<example>
|
||||
<title>math examples</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{$foo+1}
|
||||
|
||||
{$foo*$bar}
|
||||
|
||||
{* some more complicated examples *}
|
||||
|
||||
{$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`"}
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="language.escaping">
|
||||
<title>Escaping Smarty Parsing</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Including literal content is possible using <link
|
||||
linkend="language.function.literal">{literal} .. {/literal}</link> blocks.
|
||||
Similar to HTML entity usage, you can use <link
|
||||
linkend="language.function.ldelim">{ldelim}</link> and <link
|
||||
linkend="language.function.ldelim">{rdelim}</link> to display the current delimiters.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It is often convenient to simply change Smarty's <link
|
||||
linkend="variable.left.delimiter">$left_delimiter</link> and
|
||||
<link linkend="variable.right.delimiter">$right_delimiter</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>changing delimiters example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
$smarty = new Smarty;
|
||||
$smarty->left_delimiter = '<!--{';
|
||||
$smarty->right_delimiter = '}-->';
|
||||
$smarty->assign('foo', 'bar');
|
||||
$smarty->display('example.tpl');
|
||||
|
||||
?>
|
||||
|
||||
--- example.tpl
|
||||
<script language="javascript">
|
||||
var foo = <!--{$foo}-->;
|
||||
function dosomething() {
|
||||
alert("foo is " + foo);
|
||||
}
|
||||
dosomething();
|
||||
</script>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
&designers.language-basic-syntax.language-escaping;
|
||||
</chapter>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
|
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.escaping">
|
||||
<title>Escaping Smarty Parsing</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Including literal content is possible using <link
|
||||
linkend="language.function.literal">{literal} .. {/literal}</link> blocks.
|
||||
Similar to HTML entity usage, you can use <link
|
||||
linkend="language.function.ldelim">{ldelim}</link> and <link
|
||||
linkend="language.function.ldelim">{rdelim}</link> to display the current delimiters.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It is often convenient to simply change Smarty's <link
|
||||
linkend="variable.left.delimiter">$left_delimiter</link> and
|
||||
<link linkend="variable.right.delimiter">$right_delimiter</link>.
|
||||
</para>
|
||||
<example>
|
||||
<title>changing delimiters example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
$smarty = new Smarty;
|
||||
$smarty->left_delimiter = '<!--{';
|
||||
$smarty->right_delimiter = '}-->';
|
||||
$smarty->assign('foo', 'bar');
|
||||
$smarty->display('example.tpl');
|
||||
|
||||
?>
|
||||
|
||||
--- example.tpl
|
||||
<script language="javascript">
|
||||
var foo = <!--{$foo}-->;
|
||||
function dosomething() {
|
||||
alert("foo is " + foo);
|
||||
}
|
||||
dosomething();
|
||||
</script>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
48
docs/en/designers/language-basic-syntax/language-math.xml
Normal file
48
docs/en/designers/language-basic-syntax/language-math.xml
Normal file
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.math">
|
||||
<title>Math</title>
|
||||
<para>
|
||||
Math can be applied directly to variable values.
|
||||
</para>
|
||||
<example>
|
||||
<title>math examples</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{$foo+1}
|
||||
|
||||
{$foo*$bar}
|
||||
|
||||
{* some more complicated examples *}
|
||||
|
||||
{$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`"}
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.attributes">
|
||||
<title>Attributes</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Some attributes require boolean values (true or false). These can be
|
||||
specified as either unquoted <literal>true</literal>,
|
||||
<literal>on</literal>, and <literal>yes</literal>, or
|
||||
<literal>false</literal>, <literal>off</literal>, and
|
||||
<literal>no</literal>.
|
||||
</para>
|
||||
<example>
|
||||
<title>function attribute syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{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>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.comments">
|
||||
<title>Comments</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>Comments</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{* Smarty *}
|
||||
|
||||
{* include the header file here *}
|
||||
{include file="header.tpl"}
|
||||
|
||||
{include file=$includeFile}
|
||||
|
||||
{include file=#includeFile#}
|
||||
|
||||
{* display dropdown lists *}
|
||||
<select name="company">
|
||||
{html_options values=$vals selected=$selected output=$output}
|
||||
</select>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.functions">
|
||||
<title>Functions</title>
|
||||
<para>
|
||||
Each Smarty tag either prints a
|
||||
<link linkend="language.variables">variable</link> 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"}.
|
||||
</para>
|
||||
<example>
|
||||
<title>function syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{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"}
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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 <command>if</command>, <command>section</command> and
|
||||
<command>strip</command>. 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. <command>html_options</command> and
|
||||
<command>html_select_date</command> are examples of custom functions.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.syntax.quotes">
|
||||
<title>Embedding Vars in Double Quotes</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>embedded quotes syntax</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
SYNTAX EXAMPLES:
|
||||
{func var="test $foo test"} <-- sees $foo
|
||||
{func var="test $foo_bar test"} <-- sees $foo_bar
|
||||
{func var="test $foo[0] test"} <-- sees $foo[0]
|
||||
{func var="test $foo[bar] test"} <-- sees $foo[bar]
|
||||
{func var="test $foo.bar test"} <-- sees $foo (not $foo.bar)
|
||||
{func var="test `$foo.bar` test"} <-- sees $foo.bar
|
||||
|
||||
PRACTICAL EXAMPLES:
|
||||
{include file="subdir/$tpl_name.tpl"} <-- will replace $tpl_name with value
|
||||
{cycle values="one,two,`$smarty.config.myval`"} <-- must have backticks
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.capture">
|
||||
<title>capture</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>The name of the captured block</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The variable name where to assign the captured output to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<caution>
|
||||
<para>
|
||||
Be careful when capturing <command>insert</command> output. If
|
||||
you have caching turned on and you have <command>insert</command>
|
||||
commands that you expect to run within cached content, do not
|
||||
capture this content.
|
||||
</para>
|
||||
</caution>
|
||||
<para>
|
||||
<example>
|
||||
<title>capturing template content</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.config.load">
|
||||
<title>config_load</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the config file to include</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>section</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the section to load</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>scope</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>local</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>global</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>No</emphasis></entry>
|
||||
<entry>
|
||||
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.
|
||||
</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
This function is used for loading in variables from a
|
||||
configuration file into the template.
|
||||
See <link linkend="config.files">Config Files</link> for more
|
||||
info.
|
||||
</para>
|
||||
<example>
|
||||
<title>function config_load</title>
|
||||
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Config files may also contain sections. You can load variables from
|
||||
within a section with the added attribute
|
||||
<emphasis>section</emphasis>.
|
||||
</para>
|
||||
<para>
|
||||
NOTE: <emphasis>Config file sections</emphasis> and the built-in
|
||||
template function called <emphasis>section</emphasis> have nothing
|
||||
to do with each other, they just happen to share a common naming
|
||||
convention.
|
||||
</para>
|
||||
<example>
|
||||
<title>function config_load with section</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.foreach">
|
||||
<title>foreach,foreachelse</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>from</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the array you are looping through</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>item</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable that is the current
|
||||
element</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>key</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable that is the current key</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the foreach loop for accessing
|
||||
foreach properties</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
<emphasis>foreach</emphasis> loops are an alternative to
|
||||
<emphasis>section</emphasis> loops. <emphasis>foreach</emphasis> is
|
||||
used to loop over a single associative array. The syntax for
|
||||
<emphasis>foreach</emphasis> is much easier than
|
||||
<emphasis>section</emphasis>, but as a tradeoff it can only be used
|
||||
for a single array. <emphasis>foreach</emphasis> tags must be
|
||||
paired with <emphasis>/foreach</emphasis> tags. Required parameters
|
||||
are <emphasis>from</emphasis> and <emphasis>item</emphasis>. The
|
||||
name of the foreach loop can be anything you like, made up of
|
||||
letters, numbers and underscores. <emphasis>foreach</emphasis>
|
||||
loops can be nested, and the nested foreach names must be unique
|
||||
from each other. The <emphasis>from</emphasis> variable (usually an
|
||||
array of values) determines the number of times
|
||||
<emphasis>foreach</emphasis> will loop.
|
||||
<emphasis>foreachelse</emphasis> is executed when there are no
|
||||
values in the <emphasis>from</emphasis> variable.
|
||||
</para>
|
||||
<example>
|
||||
<title>foreach</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>foreach key</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<para>
|
||||
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 <emphasis>name</emphasis>
|
||||
attribute of foreach
|
||||
</para>
|
||||
|
||||
|
||||
<sect2 id="foreach.property.iteration">
|
||||
<title>iteration</title>
|
||||
<para>
|
||||
iteration is used to display the current loop iteration.
|
||||
</para>
|
||||
<para>
|
||||
Iteration always starts with 1 and is incremented by one
|
||||
one each iteration.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.first">
|
||||
<title>first</title>
|
||||
<para>
|
||||
<emphasis>first</emphasis> is set to true if the current foreach iteration is the first
|
||||
one.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.last">
|
||||
<title>last</title>
|
||||
<para>
|
||||
<emphasis>last</emphasis> is set to true if the current foreach iteration is the last
|
||||
one.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="foreach.property.show">
|
||||
<title>show</title>
|
||||
<para>
|
||||
<emphasis>show</emphasis> is used as a parameter to foreach.
|
||||
<emphasis>show</emphasis> 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.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
<sect2 id="foreach.property.total">
|
||||
<title>total</title>
|
||||
<para>
|
||||
<emphasis>total</emphasis> is used to display the number of iterations that this foreach
|
||||
will loop. This can be used inside or after the foreach.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,217 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.if">
|
||||
<title>if,elseif,else</title>
|
||||
<para>
|
||||
<emphasis>{if}</emphasis> statements in Smarty have much the same flexibility as PHP if
|
||||
statements, with a few added features for the template engine.
|
||||
Every <emphasis>{if}</emphasis> must be paired with an
|
||||
<emphasis>{/if}</emphasis>. <emphasis>{else}</emphasis> and
|
||||
<emphasis>{elseif}</emphasis> are also permitted. All PHP conditionals
|
||||
are recognized, such as <emphasis>||</emphasis>, <emphasis>or</emphasis>,
|
||||
<emphasis>&&</emphasis>, <emphasis>and</emphasis>, etc.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="4">
|
||||
<colspec colname="qualifier" align="center" />
|
||||
<colspec colname="alternates" align="center" />
|
||||
<colspec colname="meaning" />
|
||||
<colspec colname="example" />
|
||||
<colspec colname="php" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Qualifier</entry>
|
||||
<entry>Alternates</entry>
|
||||
<entry>Syntax Example</entry>
|
||||
<entry>Meaning</entry>
|
||||
<entry>PHP Equivalent</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>==</entry>
|
||||
<entry>eq</entry>
|
||||
<entry>$a eq $b</entry>
|
||||
<entry>equals</entry>
|
||||
<entry>==</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>!=</entry>
|
||||
<entry>ne, neq</entry>
|
||||
<entry>$a neq $b</entry>
|
||||
<entry>not equals</entry>
|
||||
<entry>!=</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>></entry>
|
||||
<entry>gt</entry>
|
||||
<entry>$a gt $b</entry>
|
||||
<entry>greater than</entry>
|
||||
<entry>></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><</entry>
|
||||
<entry>lt</entry>
|
||||
<entry>$a lt $b</entry>
|
||||
<entry>less than</entry>
|
||||
<entry><</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>>=</entry>
|
||||
<entry>gte, ge</entry>
|
||||
<entry>$a ge $b</entry>
|
||||
<entry>greater than or equal</entry>
|
||||
<entry>>=</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><=</entry>
|
||||
<entry>lte, le</entry>
|
||||
<entry>$a le $b</entry>
|
||||
<entry>less than or equal</entry>
|
||||
<entry><=</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>!</entry>
|
||||
<entry>not</entry>
|
||||
<entry>not $a</entry>
|
||||
<entry>negation (unary)</entry>
|
||||
<entry>!</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>%</entry>
|
||||
<entry>mod</entry>
|
||||
<entry>$a mod $b</entry>
|
||||
<entry>modulous</entry>
|
||||
<entry>%</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>is [not] div by</entry>
|
||||
<entry></entry>
|
||||
<entry>$a is not div by 4</entry>
|
||||
<entry>divisible by</entry>
|
||||
<entry>$a % $b == 0</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>is [not] even</entry>
|
||||
<entry></entry>
|
||||
<entry>$a is not even</entry>
|
||||
<entry>[not] an even number (unary)</entry>
|
||||
<entry>$a % 2 == 0</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>is [not] even by</entry>
|
||||
<entry></entry>
|
||||
<entry>$a is not even by $b</entry>
|
||||
<entry>grouping level [not] even</entry>
|
||||
<entry>($a / $b) % 2 == 0</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>is [not] odd</entry>
|
||||
<entry></entry>
|
||||
<entry>$a is not odd</entry>
|
||||
<entry>[not] an odd number (unary)</entry>
|
||||
<entry>$a % 2 != 0</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>is [not] odd by</entry>
|
||||
<entry></entry>
|
||||
<entry>$a is not odd by $b</entry>
|
||||
<entry>[not] an odd grouping</entry>
|
||||
<entry>($a / $b) % 2 != 0</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<example>
|
||||
<title>if statements</title>
|
||||
<programlisting>
|
||||
{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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.include.php">
|
||||
<title>include_php</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the php file to include</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>once</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>whether or not to include the php file more than
|
||||
once if included multiple times</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable that the output of
|
||||
include_php will be assigned to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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 <link
|
||||
linkend="tips.componentized.templates">componentized template
|
||||
example</link> for details.
|
||||
</para>
|
||||
</note>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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 <emphasis>once</emphasis> attribute.
|
||||
Setting once to false will include the php script each time it is
|
||||
included in the template.
|
||||
</para>
|
||||
<para>
|
||||
You can optionally pass the <emphasis>assign</emphasis> attribute,
|
||||
which will specify a template variable name that the output of
|
||||
<emphasis>include_php</emphasis> will be assigned to instead of
|
||||
displayed.
|
||||
</para>
|
||||
<para>
|
||||
The smarty object is available as $this within the PHP script that you
|
||||
include.
|
||||
</para>
|
||||
<example>
|
||||
<title>function include_php</title>
|
||||
<programlisting>
|
||||
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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.include">
|
||||
<title>include</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the template file to include</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable that the output of
|
||||
include will be assigned to</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>[var type]</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>variable to pass local to template</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
You can optionally pass the <emphasis>assign</emphasis> attribute,
|
||||
which will specify a template variable name that the output of
|
||||
<emphasis>include</emphasis> will be assigned to instead of
|
||||
displayed.
|
||||
</para>
|
||||
<example>
|
||||
<title>function include</title>
|
||||
<programlisting>
|
||||
{include file="header.tpl"}
|
||||
|
||||
{* body of template goes here *}
|
||||
|
||||
{include file="footer.tpl"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>function include passing variables</title>
|
||||
<programlisting>
|
||||
{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"}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Use the syntax for <link
|
||||
linkend="template.resources">template resources</link> to
|
||||
include files outside of the $template_dir directory.
|
||||
</para>
|
||||
<example>
|
||||
<title>function include template resource examples</title>
|
||||
<programlisting>
|
||||
{* 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"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.insert">
|
||||
<title>insert</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the insert function (insert_name)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the template variable the output will
|
||||
be assigned to</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>script</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the php script that is included before
|
||||
the insert function is called</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>[var type]</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>variable to pass to insert function</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Insert tags work much like include tags, except that insert tags
|
||||
are not cached when you have template <link
|
||||
linkend="caching">caching</link> enabled. They will be
|
||||
executed on every invocation of the template.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>function insert</title>
|
||||
<programlisting>
|
||||
{* example of fetching a banner *}
|
||||
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
It is possible to have portions of the template not
|
||||
cached. If you have <link linkend="caching">caching</link>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.ldelim">
|
||||
<title>ldelim,rdelim</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>ldelim, rdelim</title>
|
||||
<programlisting>
|
||||
{* 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!</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.literal">
|
||||
<title>literal</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>literal tags</title>
|
||||
<programlisting>
|
||||
{literal}
|
||||
<script language=javascript>
|
||||
|
||||
<!--
|
||||
function isblank(field) {
|
||||
if (field.value == '')
|
||||
{ return false; }
|
||||
else
|
||||
{
|
||||
document.loginform.submit();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// -->
|
||||
|
||||
</script>
|
||||
{/literal}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.php">
|
||||
<title>php</title>
|
||||
<para>
|
||||
php tags allow php to be embedded directly into the template. They
|
||||
will not be escaped, regardless of the <link
|
||||
linkend="variable.php.handling">$php_handling</link> setting. This
|
||||
is for advanced users only, not normally needed.
|
||||
</para>
|
||||
<example>
|
||||
<title>php tags</title>
|
||||
<programlisting>
|
||||
{php}
|
||||
// including a php script directly
|
||||
// from the template.
|
||||
include("/path/to/display_weather.php");
|
||||
{/php}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,568 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.section">
|
||||
<title>section,sectionelse</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the section</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>loop</entry>
|
||||
<entry>[$variable_name]</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable to determine # of loop
|
||||
iterations</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>0</emphasis></entry> <entry>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.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>step</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>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.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>max</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>Sets the maximum number of times the section
|
||||
will loop.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>show</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>determines whether or not to show this section</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
Template sections are used for looping over arrays of data. All
|
||||
<emphasis>section</emphasis> tags must be paired with
|
||||
<emphasis>/section</emphasis> tags. Required parameters are
|
||||
<emphasis>name</emphasis> and <emphasis>loop</emphasis>. 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
|
||||
[]. <emphasis>sectionelse</emphasis> is
|
||||
executed when there are no values in the loop variable.
|
||||
</para>
|
||||
<example>
|
||||
<title>section</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>section loop variable</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>section names</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>nested sections</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>sections and associative arrays</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
|
||||
<example>
|
||||
<title>sectionelse</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Sections also have their own variables that handle section properties.
|
||||
These are indicated like so: {$smarty.section.sectionname.varname}
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<sect2 id="section.property.index">
|
||||
<title>index</title>
|
||||
<para>
|
||||
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.)
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>section property index</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.index.prev">
|
||||
<title>index_prev</title>
|
||||
<para>
|
||||
index_prev is used to display the previous loop index.
|
||||
on the first loop, this is set to -1.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property index_prev</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.index.next">
|
||||
<title>index_next</title>
|
||||
<para>
|
||||
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.)
|
||||
</para>
|
||||
<example>
|
||||
<title>section property index_next</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.iteration">
|
||||
<title>iteration</title>
|
||||
<para>
|
||||
iteration is used to display the current loop iteration.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property iteration</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.first">
|
||||
<title>first</title>
|
||||
<para>
|
||||
first is set to true if the current section iteration is the first
|
||||
one.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property first</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.last">
|
||||
<title>last</title>
|
||||
<para>
|
||||
last is set to true if the current section iteration is the last
|
||||
one.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property last</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.rownum">
|
||||
<title>rownum</title>
|
||||
<para>
|
||||
rownum is used to display the current loop iteration,
|
||||
starting with one. It is an alias to iteration, they work
|
||||
identically.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property rownum</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.loop">
|
||||
<title>loop</title>
|
||||
<para>
|
||||
loop is used to display the last index number that this section
|
||||
looped. This can be used inside or after the section.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property index</title>
|
||||
<programlisting>
|
||||
{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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.show">
|
||||
<title>show</title>
|
||||
<para>
|
||||
<emphasis>show</emphasis> is used as a parameter to section.
|
||||
<emphasis>show</emphasis> 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.
|
||||
</para>
|
||||
<example>
|
||||
<title>section attribute show</title>
|
||||
<programlisting>
|
||||
{* $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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
<sect2 id="section.property.total">
|
||||
<title>total</title>
|
||||
<para>
|
||||
total is used to display the number of iterations that this section
|
||||
will loop. This can be used inside or after the section.
|
||||
</para>
|
||||
<example>
|
||||
<title>section property total</title>
|
||||
<programlisting>
|
||||
{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.
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.strip">
|
||||
<title>strip</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
{strip}{/strip} does not affect the contents of template variables.
|
||||
See the <link linkend="language.modifier.strip">strip modifier
|
||||
function</link>.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>strip tags</title>
|
||||
<programlisting>
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -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
|
||||
-->
|
||||
-->
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.assign">
|
||||
<title>assign</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The name of the variable being assigned</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>value</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>The value being assigned</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
assign is used for assigning template variables during the execution
|
||||
of the template.
|
||||
</para>
|
||||
<example>
|
||||
<title>assign</title>
|
||||
<programlisting>
|
||||
{assign var="name" value="Bob"}
|
||||
|
||||
The value of $name is {$name}.
|
||||
|
||||
OUTPUT:
|
||||
|
||||
The value of $name is Bob.</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.counter">
|
||||
<title>counter</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>The name of the counter</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start</entry>
|
||||
<entry>number</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>The initial number to start counting from</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>skip</entry>
|
||||
<entry>number</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>1</emphasis></entry>
|
||||
<entry>The interval to count by</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>direction</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>up</emphasis></entry>
|
||||
<entry>the direction to count (up/down)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>print</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Whether or not to print the value</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the template variable the output will be assigned
|
||||
to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>counter</title>
|
||||
<programlisting>
|
||||
{* initialize the count *}
|
||||
{counter start=0 skip=2}<br>
|
||||
{counter}<br>
|
||||
{counter}<br>
|
||||
{counter}<br>
|
||||
|
||||
OUTPUT:
|
||||
|
||||
0<br>
|
||||
2<br>
|
||||
4<br>
|
||||
6<br></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.cycle">
|
||||
<title>cycle</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>default</emphasis></entry>
|
||||
<entry>The name of the cycle</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>mixed</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>N/A</emphasis></entry>
|
||||
<entry>The values to cycle through, either a comma
|
||||
delimited list (see delimiter attribute), or an array
|
||||
of values.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>print</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Whether to print the value or not</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>advance</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>Whether or not to advance to the next value</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>delimiter</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>,</emphasis></entry>
|
||||
<entry>The delimiter to use in the values attribute.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the template variable the output will be assigned
|
||||
to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
The advance attribute is used to repeat a value. When set to false,
|
||||
the next call to cycle will print the same value.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>cycle</title>
|
||||
<programlisting>
|
||||
{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>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.debug">
|
||||
<title>debug</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>html</emphasis></entry>
|
||||
<entry>output type, html or javascript</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
{debug} dumps the debug console to the page. This works regardless
|
||||
of the <link linkend="chapter.debugging.console">debug</link>
|
||||
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.
|
||||
</para>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.eval">
|
||||
<title>eval</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>mixed</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>variable (or string) to evaluate</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the template variable the output will be assigned
|
||||
to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
Evaluated variables are treated the same as templates. They follow
|
||||
the same escapement and security features just as if they were
|
||||
templates.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>eval</title>
|
||||
<programlisting>
|
||||
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>.
|
||||
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.fetch">
|
||||
<title>fetch</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the file, http or ftp site to fetch</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the template variable the output will be assigned
|
||||
to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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)
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
This will not support http redirects, be sure to
|
||||
include a trailing slash on your web page fetches where necessary.
|
||||
</para>
|
||||
</note>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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)
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>fetch</title>
|
||||
<programlisting>
|
||||
{* 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}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.checkboxes">
|
||||
<title>html_checkboxes</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>checkbox</emphasis></entry>
|
||||
<entry>name of checkbox list</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of values for checkbox buttons</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of output for checkbox buttons</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string/array</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>the selected checkbox element(s)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>associative array</entry>
|
||||
<entry>Yes, unless using values and output</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an associative array of values and output</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>string of text to separate each checkbox item</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>labels</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>true</emphasis></entry>
|
||||
<entry>add <label>-tags to the output</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
All parameters that are not in the list above are printed as
|
||||
name/value-pairs inside each of the created <input>-tags.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_checkboxes</title>
|
||||
<programlisting>
|
||||
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 /></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,152 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.image">
|
||||
<title>html_image</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>file</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>name/path to image</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>border</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>0</emphasis></entry>
|
||||
<entry>size of border around image</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>height</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>actual image height</emphasis></entry>
|
||||
<entry>height to display image</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>width</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>actual image width</emphasis></entry>
|
||||
<entry>width to display image</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>basedir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>web server doc root</emphasis></entry>
|
||||
<entry>directory to base relative paths from</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>alt</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>""</emphasis></entry>
|
||||
<entry>alternative description of the image</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>href</entry>
|
||||
<entry>string</entry>
|
||||
<entry>no</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>href value to link the image to</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>href</parameter> 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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>html_image example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
|
||||
require('Smarty.class.php');
|
||||
$smarty = new Smarty;
|
||||
$smarty->display('index.tpl');
|
||||
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
where index.tpl is:
|
||||
</para>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
{html_image file="pumpkin.jpg"}
|
||||
{html_image file="/path/from/docroot/pumpkin.jpg"}
|
||||
{html_image file="../path/relative/to/currdir/pumpkin.jpg"}
|
||||
]]>
|
||||
</programlisting>
|
||||
<para>
|
||||
a possible output would be:
|
||||
</para>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
<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" />
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,149 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.options">
|
||||
<title>html_options</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of values for dropdown</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of output for dropdown</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string/array</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>the selected option element(s)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>associative array</entry>
|
||||
<entry>Yes, unless using values and output</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an associative array of values and output</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>name of select group</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
If the optional <emphasis>name</emphasis> attribute is given, the
|
||||
<select name="groupname"></select> tags will enclose
|
||||
the option list. Otherwise only the option list is generated.
|
||||
</para>
|
||||
<para>
|
||||
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 <emphasis>name</emphasis> is not given.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_options</title>
|
||||
<programlisting>
|
||||
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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.radios">
|
||||
<title>html_radios</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>name</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>radio</emphasis></entry>
|
||||
<entry>name of radio list</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>values</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of values for radio buttons</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>output</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes, unless using options attribute</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an array of output for radio buttons</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>selected</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>the selected radio element</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>options</entry>
|
||||
<entry>associative array</entry>
|
||||
<entry>Yes, unless using values and output</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>an associative array of values and output</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>string of text to separate each radio item</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
All parameters that are not in the list above are printed as
|
||||
name/value-pairs inside each of the created <input>-tags.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>html_radios</title>
|
||||
<programlisting>
|
||||
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 /></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,341 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.select.date">
|
||||
<title>html_select_date</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>prefix</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Date_</entry>
|
||||
<entry>what to prefix the var name with</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>time</entry>
|
||||
<entry>timestamp/YYYY-MM-DD</entry>
|
||||
<entry>No</entry>
|
||||
<entry>current time in unix timestamp or YYYY-MM-DD
|
||||
format</entry>
|
||||
<entry>what date/time to use</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>start_year</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>current year</entry>
|
||||
<entry>the first year in the dropdown, either
|
||||
year number, or relative to current year (+/- N)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>end_year</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>same as start_year</entry>
|
||||
<entry>the last year in the dropdown, either
|
||||
year number, or relative to current year (+/- N)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_days</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether to display days or not</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_months</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether to display months or not</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_years</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether to display years or not</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>%B</entry>
|
||||
<entry>what format the month should be in (strftime)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>%02d</entry>
|
||||
<entry>what format the day output should be in (sprintf)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_value_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>%d</entry>
|
||||
<entry>what format the day value should be in (sprintf)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_as_text</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>false</entry>
|
||||
<entry>whether or not to display the year as text</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>reverse_years</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>false</entry>
|
||||
<entry>display years in reverse order</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_array</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>
|
||||
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].
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds size attribute to select tag if given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds size attribute to select tag if given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_size</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds size attribute to select tag if given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>all_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to all select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_order</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>MDY</entry>
|
||||
<entry>the order in which to display the fields</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_separator</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>\n</entry>
|
||||
<entry>string printed between different fields</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_value_format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>%m</entry>
|
||||
<entry>strftime format of the month values, default is
|
||||
%m for month numbers.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>year_empty</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>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.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>day_empty</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>If supplied then the first element of the day's select-box has this
|
||||
value as it's label and "" as it's value.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>month_empty</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>If supplied then the first element of the month's select-box has this
|
||||
value as it's label and "" as it's value. .</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
html_select_date is a custom function that creates date dropdowns
|
||||
for you. It can display any or all of year, month, and day.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_select_date</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
<example>
|
||||
<title>html_select_date</title>
|
||||
<programlisting>
|
||||
|
||||
{* 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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,336 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.select.time">
|
||||
<title>html_select_time</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>prefix</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Time_</entry>
|
||||
<entry>what to prefix the var name with</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>time</entry>
|
||||
<entry>timestamp</entry>
|
||||
<entry>No</entry>
|
||||
<entry>current time</entry>
|
||||
<entry>what date/time to use</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_hours</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether or not to display hours</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_minutes</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether or not to display minutes</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_seconds</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether or not to display seconds</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>display_meridian</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether or not to display meridian (am/pm)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>use_24_hours</entry>
|
||||
<entry>boolean</entry>
|
||||
<entry>No</entry>
|
||||
<entry>true</entry>
|
||||
<entry>whether or not to use 24 hour clock</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>minute_interval</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry>1</entry>
|
||||
<entry>number interval in minute dropdown</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>second_interval</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry>1</entry>
|
||||
<entry>number interval in second dropdown</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>field_array</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>n/a</entry>
|
||||
<entry>outputs values to array of this name</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>all_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>hour_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>minute_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>second_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>meridian_extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry>null</entry>
|
||||
<entry>adds extra attributes to select/input tags if
|
||||
given</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>html_select_time</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.html.table">
|
||||
<title>html_table</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>loop</entry>
|
||||
<entry>array</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>array of data to loop through</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>cols</entry>
|
||||
<entry>integer</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>3</emphasis></entry>
|
||||
<entry>number of columns in the table</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>table_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>border="1"</emphasis></entry>
|
||||
<entry>attributes for table tag</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>tr_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>attributes for tr tag (arrays are cycled)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>td_attr</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>empty</emphasis></entry>
|
||||
<entry>attributes for td tag (arrays are cycled)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>trailpad</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>&nbsp;</emphasis></entry>
|
||||
<entry>value to pad the trailing cells on last row with
|
||||
(if any)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>hdir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>right</emphasis></entry>
|
||||
<entry>direction of one row to be rendered. possible values: <emphasis>left</emphasis>/<emphasis>right</emphasis></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>vdir</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>down</emphasis></entry>
|
||||
<entry>direction of the columns to be rendered. possible values: <emphasis>up</emphasis>/<emphasis>down</emphasis></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
<emphasis>html_table</emphasis> is a custom function that dumps an
|
||||
array of data into an HTML table. The <emphasis>cols</emphasis>
|
||||
attribute determines how many columns will be in the table. The
|
||||
<emphasis>table_attr</emphasis>, <emphasis>tr_attr</emphasis> and
|
||||
<emphasis>td_attr</emphasis> values determine the attributes given
|
||||
to the table, tr and td tags. If <emphasis>tr_attr</emphasis> or
|
||||
<emphasis>td_attr</emphasis> are arrays, they will be cycled through.
|
||||
<emphasis>trailpad</emphasis> is the value put into the trailing
|
||||
cells on the last table row if there are any present.
|
||||
</para>
|
||||
<example>
|
||||
<title>html_table</title>
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
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}
|
||||
|
||||
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> </td><td> </td><td> </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> </td><td> </td><td> </td></tr>
|
||||
</table>
|
||||
]]></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.mailto">
|
||||
<title>mailto</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>address</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the e-mail address</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>text</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the text to display, default is
|
||||
the e-mail address</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>encode</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>none</emphasis></entry>
|
||||
<entry>How to encode the e-mail.
|
||||
Can be one of none,
|
||||
hex or javascript.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>cc</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>e-mail addresses to carbon copy.
|
||||
Separate entries by a comma.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>bcc</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>e-mail addresses to blind carbon copy.
|
||||
Separate entries by a comma.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>subject</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>e-mail subject.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>newsgroups</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>newsgroups to post to.
|
||||
Separate entries by a comma.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>followupto</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>addresses to follow up to.
|
||||
Separate entries by a comma.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>extra</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>any extra information you
|
||||
want passed to the link, such
|
||||
as style sheet classes</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
javascript is probably the most thorough form of
|
||||
encoding, although you can use hex encoding too.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>mailto</title>
|
||||
<programlisting>
|
||||
{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></programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.math">
|
||||
<title>math</title>
|
||||
<informaltable frame="all">
|
||||
<tgroup cols="5">
|
||||
<colspec colname="param" align="center" />
|
||||
<colspec colname="type" align="center" />
|
||||
<colspec colname="required" align="center" />
|
||||
<colspec colname="default" align="center" />
|
||||
<colspec colname="desc" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Attribute Name</entry>
|
||||
<entry>Type</entry>
|
||||
<entry>Required</entry>
|
||||
<entry>Default</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>equation</entry>
|
||||
<entry>string</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the equation to execute</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>format</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>the format of the result (sprintf)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>var</entry>
|
||||
<entry>numeric</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>equation variable value</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>assign</entry>
|
||||
<entry>string</entry>
|
||||
<entry>No</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>template variable the output will be assigned to</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>[var ...]</entry>
|
||||
<entry>numeric</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry><emphasis>n/a</emphasis></entry>
|
||||
<entry>equation variable value</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<note>
|
||||
<title>Technical Note</title>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</note>
|
||||
<example>
|
||||
<title>math</title>
|
||||
<programlisting>
|
||||
{* $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</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision$ -->
|
||||
<sect1 id="language.function.popup.init">
|
||||
<title>popup_init</title>
|
||||
<para>
|
||||
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 <link
|
||||
linkend="language.function.popup">popup</link> function. overLib
|
||||
was written by Erik Bosrup, and the homepage is located at
|
||||
http://www.bosrup.com/web/overlib/.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<example>
|
||||
<title>popup_init</title>
|
||||
<programlisting>
|
||||
{* popup_init must be called once at the top of the page *}
|
||||
{popup_init src="/javascripts/overlib.js"}</programlisting>
|
||||
</example>
|
||||
</sect1>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"../../../../manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user