Files
smarty/docs/de/designers/language-custom-functions.xml

2410 lines
98 KiB
XML
Raw Normal View History

2004-03-28 15:20:52 +00:00
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<chapter id="language.custom.functions">
<title>Eigene Funktionen</title>
<para>
Smarty wird mit verschiedenen massgeschneiderten Funktionen geliefert, welche Sie in
Ihren Templates verwenden k&ouml;nnen.
</para>
<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>
<sect1 id="language.function.counter">
<title>counter (Z&auml;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&auml;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&ouml;nnen
den Initialwert bestimmen, den Z&auml;hlinterval, die Richtung in der
gez&auml;hlt werden soll und ob der Wert ausgegeben wird. Sie k&ouml;nnen
mehrere Z&auml;hler gleichzeitig laufen lassen, in dem Sie ihnen einmalige
Namen geben. Wenn Sie keinen Wert f&uuml;r 'name' &uuml;bergeben, wird 'default'
verwendet.
</para>
<para>
Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Z&auml;hlers
dieser Template-Variable zugewiesen anstatt ausgegeben zu werden.
</para>
<example>
<title>counter (Z&auml;hler)</title>
<programlisting>
{* initialisieren *}
{counter start=0 skip=2 print=false}
{counter}&lt;br&gt;
{counter}&lt;br&gt;
{counter}&lt;br&gt;
{counter}&lt;br&gt;
AUSGABE:
2&lt;br&gt;
4&lt;br&gt;
6&lt;br&gt;
8&lt;br&gt;</programlisting>
</example>
</sect1>
<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&auml;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&ouml;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&ouml;nnte sinnvoll sein, wenn man einen
einzelnen Wert &uuml;berspringen m&ouml;chte.
</para>
<para>
Das 'advance'-Attribut wird verwendet um einen Wert zu wiederholen.
Wenn auf 'false' gesetzt, wird bei der n&auml;chsten Iteration der selbe
Wert erneut ausgegeben.
</para>
<para>
Wenn sie das spezielle 'assign'-Attribut &uuml;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>
<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&ouml;nnen die Template-Namen hier
nicht ausgegeben werden. Sie erhalten jedoch eine Liste aller zugewiesenen Variablen und deren Werten.
</para>
</sect1>
<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 &uuml;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 = &lt;b&gt;
emphend = &lt;/b&gt;
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 &amp; Grill's home page!
Bitte geben Sie einen &lt;b&gt;Stadtnamen&lt;/b&gt; ein.
Bitte geben Sie einen &lt;b&gt;Provinznamen&lt;/b&gt; ein.
</programlisting>
</example>
</sect1>
<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&uuml;gbare Inhalte
auszugeben. Wenn der Dateiname mit 'http://' anf&auml;ngt, wird die angegebene
Webseite geladen und angezeigt. Wenn der Dateiname mit 'ftp://' anf&auml;ngt
wird die Datei vom FTP-Server geladen und angezeigt. F&uuml;r lokale Dateien
muss der absolute Pfad, oder ein Pfad relativ zum ausgef&uuml;hrten Skript &uuml;bergeben werden.
</para>
<para>
Wenn Sie das spezielle 'assign'-Attribut &uuml;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&uuml;tzt, stellen Sie sicher,
dass die aufgerufene URL falls n&ouml;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&uuml;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 ""}
&lt;b&gt;{$weather}&lt;/b&gt;
{/if}</programlisting>
</example>
</sect1>
<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&uuml;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&uuml;r checkbox Kn&ouml;pfe</entry>
</row>
<row>
<entry>selected</entry>
<entry>string/array</entry>
<entry>No</entry>
<entry><emphasis>empty</emphasis></entry>
<entry>das/die ausgew&auml;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&uuml;gt werden soll</entry>
</row>
<row>
<entry>labels</entry>
<entry>boolean</entry>
<entry>No</entry>
<entry><emphasis>true</emphasis></entry>
<entry>f&uuml;gt der Ausgabe &lt;label&gt;-Tags hinzu</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
html_checkboxes ist eine Funktion die aus den &uuml;bergebenen Daten html checkbox
Elemente erstellt und k&uuml;mmert sich darum welche Elemente ausgew&auml;hlt sind.
Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
</para>
<para>
Alle Parameter die nicht in der Liste erw&auml;hnt werden, werden ausgegeben.
</para>
<example>
<title>html_checkboxes</title>
<programlisting>
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty-&gt;assign('cust_ids', array(1000,1001,1002,1003));
$smarty-&gt;assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown'));
$smarty-&gt;assign('customer_id', 1001);
$smarty-&gt;display('index.tpl');
index.tpl:
{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="&lt;br /&gt;"}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty-&gt;assign('cust_checkboxes', array(
1000 =&gt; 'Joe Schmoe',
1001 =&gt; 'Jack Smith',
1002 =&gt; 'Jane Johnson',
1003 =&gt; 'Charlie Brown'));
$smarty-&gt;assign('customer_id', 1001);
$smarty-&gt;display('index.tpl');
index.tpl:
{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="&lt;br /&gt;"}
AUSGABE: (beider Beispiele)
&lt;label&gt;&lt;input type="checkbox" name="checkbox[]" value="1000" /&gt;Joe Schmoe&lt;/label&gt;&lt;br /&gt;
&lt;label&gt;&lt;input type="checkbox" name="checkbox[]" value="1001" checked="checked" /&gt;Jack Smith&lt;/label&gt;&lt;br /&gt;
&lt;label&gt;&lt;input type="checkbox" name="checkbox[]" value="1002" /&gt;Jane Johnson&lt;/label&gt;&lt;br /&gt;
&lt;label&gt;&lt;input type="checkbox" name="checkbox[]" value="1003" /&gt;Charlie Brown&lt;/label&gt;&lt;br /&gt;</programlisting>
</example>
</sect1>
<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&auml;rke des Rahmens</entry>
</row>
<row>
<entry>height</entry>
<entry>string</entry>
<entry>No</entry>
<entry><emphasis>Normale H&ouml;he des Bildes</emphasis></entry>
<entry>H&ouml;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&uuml;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&uuml;r das Bild</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
html_image ist eine eigene Funktion die ein HTML Tag f&uuml;r ein Bild erzeugt.
Die H&ouml;he und Breite der Ausgabe wird automatisch aus der Bilddatei berechnet
wenn die Werte nicht &uuml;bergeben werden.
</para>
<para>
basedir ist der Basispfad der f&uuml;r die Verlinkung verwendet werden soll. Wenn kein
Wert &uuml;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&uuml;r das Image-Tag. Wenn dieser Wert &uuml;bergeben wird,
wird um das Bild ein &lt;a href="LINKVALUE"&gt;&lt;a&gt; Tag erzeugt.
</para>
<note>
<title>Technische Bemerkung</title>
<para>
html_image greift auf das Dateisystem zu um H&ouml;he und Breite zu errechnen. Wenn Sie
caching nicht verwenden sollten Sie normalerweise auf diese Funktion aus performance Gr&uuml;nden verzichten.
</para>
</note>
<example>
<title>html_image</title>
<programlisting>
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty-&gt;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&ouml;glich)
&lt;img src="pumpkin.jpg" alt="" border="0" width="44" height="68" /&gt;
&lt;img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" /&gt;
&lt;img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" /&gt;</programlisting>
</example>
</sect1>
<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&uuml;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&uuml;r die dropdown-Liste.</entry>
</row>
<row>
<entry>selected</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry><emphasis>empty</emphasis></entry>
<entry>Das ausgew&auml;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 &uuml;bergebenen Daten
zu erzeugen. Die Funktion k&uuml;mmert sich ebenfalls um das setzen des ausgew&auml;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&uuml;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&auml;hrend $customer_id auch leer sein kann *}
&lt;select name=customer_id&gt;
{html_options values=$cust_ids selected=$customer_id output=$cust_names}
&lt;/select&gt;
{* alternativ k&ouml;nnen die Werte aus 'values' und 'output' als assoziative Arrays
an 'options' &uuml;bergeben werden. $customer_options ist in diesem Beispiel ein assoziatives Array *}
&lt;select name=customer_id&gt;
{html_options options=$customer_options selected=$customer_id}
&lt;/select&gt;
AUSGABE:
&lt;select name=customer_id&gt;
&lt;option value="1000">Joe Schmoe&lt;/option&gt;
&lt;option value="1001" selected="selected">Jack Smith&lt;/option&gt;
&lt;option value="1002">Jane Johnson&lt;/option&gt;
&lt;option value="1003">Charlie Brown&lt;/option&gt;
&lt;/select&gt;</programlisting>
</example>
</sect1>
<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&uuml;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&uuml;r die dropdown-Liste.</entry>
</row>
<row>
<entry>selected</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry><emphasis>empty</emphasis></entry>
<entry>Das ausgew&auml;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&uuml;gt werden soll.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
html_radio ist eine Funktion die aus den &uuml;bergebenen Daten html radio
Elemente erstellt und k&uuml;mmert sich darum welche Elemente ausgew&auml;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-&gt;assign('cust_ids', array(1000,1001,1002,1003));
$smarty-&gt;assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
Johnson','Carlie Brown'));
$smarty-&gt;assign('customer_id', 1001);
$smarty-&gt;display('index.tpl');
index.tpl:
{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="&lt;br /&gt;"}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty-&gt;assign('cust_radios', array(
1001 =&gt; 'Joe Schmoe',
1002 =&gt; 'Jack Smith',
1003 =&gt; 'Jane Johnson',
1004 =&gt; 'Charlie Brown'));
$smarty-&gt;assign('customer_id', 1001);
$smarty-&gt;display('index.tpl');
index.tpl:
{html_radios name="id" options=$cust_radios checked=$customer_id separator="&lt;br /&gt;"}
AUSGABE: (beider Beispiele)
&lt;input type="radio" name="id[]" value="1000"&gt;Joe Schmoe&lt;br /&gt;
&lt;input type="radio" name="id[]" value="1001" checked="checked"&gt;&lt;br /&gt;
&lt;input type="radio" name="id[]" value="1002"&gt;Jane Johnson&lt;br /&gt;
&lt;input type="radio" name="id[]" value="1003"&gt;Charlie Brown&lt;br /&gt;</programlisting>
</example>
</sect1>
<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&uuml;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 &uuml;bergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zur&uuml;ckgegeben.
</entry>
</row>
<row>
<entry>day_size</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;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&uuml;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&uuml;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&uuml;gt allen 'select'-Tags zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>day_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt 'select'-Tags zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>month_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt 'select'-Tags zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>year_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt 'select'-Tags zus&auml;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:
&lt;select name="Date_Month"&gt;
&lt;option value="1"&gt;January&lt;/option&gt;
&lt;option value="2"&gt;February&lt;/option&gt;
&lt;option value="3"&gt;March&lt;/option&gt;
&lt;option value="4"&gt;April&lt;/option&gt;
&lt;option value="5"&gt;May&lt;/option&gt;
&lt;option value="6"&gt;June&lt;/option&gt;
&lt;option value="7"&gt;July&lt;/option&gt;
&lt;option value="8"&gt;August&lt;/option&gt;
&lt;option value="9"&gt;September&lt;/option&gt;
&lt;option value="10"&gt;October&lt;/option&gt;
&lt;option value="11"&gt;November&lt;/option&gt;
&lt;option value="12" selected&gt;December&lt;/option&gt;
&lt;/select&gt;
&lt;select name="Date_Day"&gt;
&lt;option value="1"&gt;01&lt;/option&gt;
&lt;option value="2"&gt;02&lt;/option&gt;
&lt;option value="3"&gt;03&lt;/option&gt;
&lt;option value="4"&gt;04&lt;/option&gt;
&lt;option value="5"&gt;05&lt;/option&gt;
&lt;option value="6"&gt;06&lt;/option&gt;
&lt;option value="7"&gt;07&lt;/option&gt;
&lt;option value="8"&gt;08&lt;/option&gt;
&lt;option value="9"&gt;09&lt;/option&gt;
&lt;option value="10"&gt;10&lt;/option&gt;
&lt;option value="11"&gt;11&lt;/option&gt;
&lt;option value="12"&gt;12&lt;/option&gt;
&lt;option value="13" selected&gt;13&lt;/option&gt;
&lt;option value="14"&gt;14&lt;/option&gt;
&lt;option value="15"&gt;15&lt;/option&gt;
&lt;option value="16"&gt;16&lt;/option&gt;
&lt;option value="17"&gt;17&lt;/option&gt;
&lt;option value="18"&gt;18&lt;/option&gt;
&lt;option value="19"&gt;19&lt;/option&gt;
&lt;option value="20"&gt;20&lt;/option&gt;
&lt;option value="21"&gt;21&lt;/option&gt;
&lt;option value="22"&gt;22&lt;/option&gt;
&lt;option value="23"&gt;23&lt;/option&gt;
&lt;option value="24"&gt;24&lt;/option&gt;
&lt;option value="25"&gt;25&lt;/option&gt;
&lt;option value="26"&gt;26&lt;/option&gt;
&lt;option value="27"&gt;27&lt;/option&gt;
&lt;option value="28"&gt;28&lt;/option&gt;
&lt;option value="29"&gt;29&lt;/option&gt;
&lt;option value="30"&gt;30&lt;/option&gt;
&lt;option value="31"&gt;31&lt;/option&gt;
&lt;/select&gt;
&lt;select name="Date_Year"&gt;
&lt;option value="2001" selected&gt;2001&lt;/option&gt;
&lt;/select&gt;</programlisting>
</example>
<example>
<title>html_select_date</title>
<programlisting>
{* Start- und End-Jahr k&ouml;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)
&lt;select name="StartDateMonth"&gt;
&lt;option value="1"&gt;January&lt;/option&gt;
&lt;option value="2"&gt;February&lt;/option&gt;
&lt;option value="3"&gt;March&lt;/option&gt;
&lt;option value="4"&gt;April&lt;/option&gt;
&lt;option value="5"&gt;May&lt;/option&gt;
&lt;option value="6"&gt;June&lt;/option&gt;
&lt;option value="7"&gt;July&lt;/option&gt;
&lt;option value="8"&gt;August&lt;/option&gt;
&lt;option value="9"&gt;September&lt;/option&gt;
&lt;option value="10"&gt;October&lt;/option&gt;
&lt;option value="11"&gt;November&lt;/option&gt;
&lt;option value="12" selected&gt;December&lt;/option&gt;
&lt;/select&gt;
&lt;select name="StartDateYear"&gt;
&lt;option value="1999"&gt;1995&lt;/option&gt;
&lt;option value="1999"&gt;1996&lt;/option&gt;
&lt;option value="1999"&gt;1997&lt;/option&gt;
&lt;option value="1999"&gt;1998&lt;/option&gt;
&lt;option value="1999"&gt;1999&lt;/option&gt;
&lt;option value="2000" selected&gt;2000&lt;/option&gt;
&lt;option value="2001"&gt;2001&lt;/option&gt;
&lt;/select&gt;</programlisting>
</example>
</sect1>
<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&uuml;gt allen 'select'-Tags zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>hour_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt dem Stunden-'select'-Tag zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>minute_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt dem Minuten-'select'-Tag zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>second_extra</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry>null</entry>
<entry>F&uuml;gt dem Sekunden-'select'-Tag zus&auml;tzliche Attribute hinzu.</entry>
</row>
<row>
<entry>meridian_extra</entry>
<entry>string</entry>
<entry>No</entry>
<entry>null</entry>
<entry>F&uuml;gt dem Meridian-'select'-Tag zus&auml;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:
&lt;select name="Time_Hour"&gt;
&lt;option value="00"&gt;00&lt;/option&gt;
&lt;option value="01"&gt;01&lt;/option&gt;
&lt;option value="02"&gt;02&lt;/option&gt;
&lt;option value="03"&gt;03&lt;/option&gt;
&lt;option value="04"&gt;04&lt;/option&gt;
&lt;option value="05"&gt;05&lt;/option&gt;
&lt;option value="06"&gt;06&lt;/option&gt;
&lt;option value="07"&gt;07&lt;/option&gt;
&lt;option value="08"&gt;08&lt;/option&gt;
&lt;option value="09" selected&gt;09&lt;/option&gt;
&lt;option value="10"&gt;10&lt;/option&gt;
&lt;option value="11"&gt;11&lt;/option&gt;
&lt;option value="12"&gt;12&lt;/option&gt;
&lt;option value="13"&gt;13&lt;/option&gt;
&lt;option value="14"&gt;14&lt;/option&gt;
&lt;option value="15"&gt;15&lt;/option&gt;
&lt;option value="16"&gt;16&lt;/option&gt;
&lt;option value="17"&gt;17&lt;/option&gt;
&lt;option value="18"&gt;18&lt;/option&gt;
&lt;option value="19"&gt;19&lt;/option&gt;
&lt;option value="20"&gt;20&lt;/option&gt;
&lt;option value="21"&gt;21&lt;/option&gt;
&lt;option value="22"&gt;22&lt;/option&gt;
&lt;option value="23"&gt;23&lt;/option&gt;
&lt;/select&gt;
&lt;select name="Time_Minute"&gt;
&lt;option value="00"&gt;00&lt;/option&gt;
&lt;option value="01"&gt;01&lt;/option&gt;
&lt;option value="02"&gt;02&lt;/option&gt;
&lt;option value="03"&gt;03&lt;/option&gt;
&lt;option value="04"&gt;04&lt;/option&gt;
&lt;option value="05"&gt;05&lt;/option&gt;
&lt;option value="06"&gt;06&lt;/option&gt;
&lt;option value="07"&gt;07&lt;/option&gt;
&lt;option value="08"&gt;08&lt;/option&gt;
&lt;option value="09"&gt;09&lt;/option&gt;
&lt;option value="10"&gt;10&lt;/option&gt;
&lt;option value="11"&gt;11&lt;/option&gt;
&lt;option value="12"&gt;12&lt;/option&gt;
&lt;option value="13"&gt;13&lt;/option&gt;
&lt;option value="14"&gt;14&lt;/option&gt;
&lt;option value="15"&gt;15&lt;/option&gt;
&lt;option value="16"&gt;16&lt;/option&gt;
&lt;option value="17"&gt;17&lt;/option&gt;
&lt;option value="18"&gt;18&lt;/option&gt;
&lt;option value="19"&gt;19&lt;/option&gt;
&lt;option value="20" selected&gt;20&lt;/option&gt;
&lt;option value="21"&gt;21&lt;/option&gt;
&lt;option value="22"&gt;22&lt;/option&gt;
&lt;option value="23"&gt;23&lt;/option&gt;
&lt;option value="24"&gt;24&lt;/option&gt;
&lt;option value="25"&gt;25&lt;/option&gt;
&lt;option value="26"&gt;26&lt;/option&gt;
&lt;option value="27"&gt;27&lt;/option&gt;
&lt;option value="28"&gt;28&lt;/option&gt;
&lt;option value="29"&gt;29&lt;/option&gt;
&lt;option value="30"&gt;30&lt;/option&gt;
&lt;option value="31"&gt;31&lt;/option&gt;
&lt;option value="32"&gt;32&lt;/option&gt;
&lt;option value="33"&gt;33&lt;/option&gt;
&lt;option value="34"&gt;34&lt;/option&gt;
&lt;option value="35"&gt;35&lt;/option&gt;
&lt;option value="36"&gt;36&lt;/option&gt;
&lt;option value="37"&gt;37&lt;/option&gt;
&lt;option value="38"&gt;38&lt;/option&gt;
&lt;option value="39"&gt;39&lt;/option&gt;
&lt;option value="40"&gt;40&lt;/option&gt;
&lt;option value="41"&gt;41&lt;/option&gt;
&lt;option value="42"&gt;42&lt;/option&gt;
&lt;option value="43"&gt;43&lt;/option&gt;
&lt;option value="44"&gt;44&lt;/option&gt;
&lt;option value="45"&gt;45&lt;/option&gt;
&lt;option value="46"&gt;46&lt;/option&gt;
&lt;option value="47"&gt;47&lt;/option&gt;
&lt;option value="48"&gt;48&lt;/option&gt;
&lt;option value="49"&gt;49&lt;/option&gt;
&lt;option value="50"&gt;50&lt;/option&gt;
&lt;option value="51"&gt;51&lt;/option&gt;
&lt;option value="52"&gt;52&lt;/option&gt;
&lt;option value="53"&gt;53&lt;/option&gt;
&lt;option value="54"&gt;54&lt;/option&gt;
&lt;option value="55"&gt;55&lt;/option&gt;
&lt;option value="56"&gt;56&lt;/option&gt;
&lt;option value="57"&gt;57&lt;/option&gt;
&lt;option value="58"&gt;58&lt;/option&gt;
&lt;option value="59"&gt;59&lt;/option&gt;
&lt;/select&gt;
&lt;select name="Time_Second"&gt;
&lt;option value="00"&gt;00&lt;/option&gt;
&lt;option value="01"&gt;01&lt;/option&gt;
&lt;option value="02"&gt;02&lt;/option&gt;
&lt;option value="03"&gt;03&lt;/option&gt;
&lt;option value="04"&gt;04&lt;/option&gt;
&lt;option value="05"&gt;05&lt;/option&gt;
&lt;option value="06"&gt;06&lt;/option&gt;
&lt;option value="07"&gt;07&lt;/option&gt;
&lt;option value="08"&gt;08&lt;/option&gt;
&lt;option value="09"&gt;09&lt;/option&gt;
&lt;option value="10"&gt;10&lt;/option&gt;
&lt;option value="11"&gt;11&lt;/option&gt;
&lt;option value="12"&gt;12&lt;/option&gt;
&lt;option value="13"&gt;13&lt;/option&gt;
&lt;option value="14"&gt;14&lt;/option&gt;
&lt;option value="15"&gt;15&lt;/option&gt;
&lt;option value="16"&gt;16&lt;/option&gt;
&lt;option value="17"&gt;17&lt;/option&gt;
&lt;option value="18"&gt;18&lt;/option&gt;
&lt;option value="19"&gt;19&lt;/option&gt;
&lt;option value="20"&gt;20&lt;/option&gt;
&lt;option value="21"&gt;21&lt;/option&gt;
&lt;option value="22"&gt;22&lt;/option&gt;
&lt;option value="23" selected&gt;23&lt;/option&gt;
&lt;option value="24"&gt;24&lt;/option&gt;
&lt;option value="25"&gt;25&lt;/option&gt;
&lt;option value="26"&gt;26&lt;/option&gt;
&lt;option value="27"&gt;27&lt;/option&gt;
&lt;option value="28"&gt;28&lt;/option&gt;
&lt;option value="29"&gt;29&lt;/option&gt;
&lt;option value="30"&gt;30&lt;/option&gt;
&lt;option value="31"&gt;31&lt;/option&gt;
&lt;option value="32"&gt;32&lt;/option&gt;
&lt;option value="33"&gt;33&lt;/option&gt;
&lt;option value="34"&gt;34&lt;/option&gt;
&lt;option value="35"&gt;35&lt;/option&gt;
&lt;option value="36"&gt;36&lt;/option&gt;
&lt;option value="37"&gt;37&lt;/option&gt;
&lt;option value="38"&gt;38&lt;/option&gt;
&lt;option value="39"&gt;39&lt;/option&gt;
&lt;option value="40"&gt;40&lt;/option&gt;
&lt;option value="41"&gt;41&lt;/option&gt;
&lt;option value="42"&gt;42&lt;/option&gt;
&lt;option value="43"&gt;43&lt;/option&gt;
&lt;option value="44"&gt;44&lt;/option&gt;
&lt;option value="45"&gt;45&lt;/option&gt;
&lt;option value="46"&gt;46&lt;/option&gt;
&lt;option value="47"&gt;47&lt;/option&gt;
&lt;option value="48"&gt;48&lt;/option&gt;
&lt;option value="49"&gt;49&lt;/option&gt;
&lt;option value="50"&gt;50&lt;/option&gt;
&lt;option value="51"&gt;51&lt;/option&gt;
&lt;option value="52"&gt;52&lt;/option&gt;
&lt;option value="53"&gt;53&lt;/option&gt;
&lt;option value="54"&gt;54&lt;/option&gt;
&lt;option value="55"&gt;55&lt;/option&gt;
&lt;option value="56"&gt;56&lt;/option&gt;
&lt;option value="57"&gt;57&lt;/option&gt;
&lt;option value="58"&gt;58&lt;/option&gt;
&lt;option value="59"&gt;59&lt;/option&gt;
&lt;/select&gt;
&lt;select name="Time_Meridian"&gt;
&lt;option value="am" selected&gt;AM&lt;/option&gt;
&lt;option value="pm"&gt;PM&lt;/option&gt;
&lt;/select&gt;</programlisting>
</example>
</sect1>
<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&uuml;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&uuml;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&uuml;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&uuml;r das tr-Tag (Arrays werden durchlaufen)</entry>
</row>
<row>
<entry>trailpad</entry>
<entry>string</entry>
<entry>No</entry>
<entry><emphasis>&amp;nbsp;</emphasis></entry>
<entry>Wert f&uuml;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&ouml;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&ouml;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&uuml;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&uuml;gt.
</para>
<example>
<title>html_table</title>
<programlisting>
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty-&gt;assign('data',array(1,2,3,4,5,6,7,8,9));
$smarty-&gt;assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
$smarty-&gt;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:
&lt;table border="1"&gt;
&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;table border="0"&gt;
&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;table border="1"&gt;
&lt;tr bgcolor="#eeeeee"&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="#dddddd"&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;/tr&gt;
&lt;tr bgcolor="#eeeeee"&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</programlisting>
</example>
</sect1>
<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&uuml;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&auml;tzliche Werte.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
'math' erm&ouml;glicht es dem Designer, mathematische Gleichungen
durchzuf&uuml;hren. Alle numerischen Template-Variablen
k&ouml;nnen dazu verwendet werden und die Ausgabe wird an
die Stelle des Tags geschrieben. Die Variablen werden
der Funktion als Parameter &uuml;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&uuml;r zus&auml;tzliche Informationen zu dieser
Funktion.
</para>
<para>
Falls Sie die spezielle 'assign' Variable &uuml;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
&auml;usserst Ressourcen intensiv. Mathematik direkt im PHP-Skript
zu verwenden ist wesentlich performanter. Sie sollten daher
- wann immer m&ouml;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&ouml;nnen auch Klammern verwenden *}
{math equation="(( x + y ) / z )" x=2 y=10 z=2}
AUSGABE:
6
{* Sie k&ouml;nnen als Ausgabeformat alle von sprintf unterst&ouml;tzen Definitionen verwenden *}
{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
AUSGABE:
9.44</programlisting>
</example>
</sect1>
<sect1 id="language.function.popup.init">
<title>popup_init (Popup Initialisieren)</title>
<para>
'popup' ist eine Integration von 'overLib', einer Javascript
Library f&uuml;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&ouml;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>
<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&ouml;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 &Uuml;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-&Uuml;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&uuml;r die &Uuml;berschrift.</entry>
</row>
<row>
<entry>closefont</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Die Schriftart f&uuml;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&ouml;sse des Textes.</entry>
</row>
<row>
<entry>captionsize</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Die Schriftgr&ouml;sse der &Uuml;berschrift.</entry>
</row>
<row>
<entry>closesize</entry>
<entry>string</entry>
<entry>Nein</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Die Schriftgr&ouml;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&ouml;he der Popup-Box.</entry>
</row>
<row>
<entry>left</entry>
<entry>boolean</entry>
<entry>Nein</entry>
<entry><emphasis>false</emphasis></entry>
<entry>&Ouml;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>&Ouml;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>&Ouml;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>&Ouml;ffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur m&ouml;glich wenn 'height' definiert ist.</entry>
</row>
<row>
<entry>below</entry>
<entry>boolean</entry>
<entry>Nein</entry>
<entry><emphasis>false</emphasis></entry>
<entry>&Ouml;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&ouml;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&ouml;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&uuml;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&uuml;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 &uuml;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-&Uuml;berschrift an. Achtung: Dies &uuml;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 &Uuml;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 &uuml;bergebene Bild vor der &Uuml;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: &uuml;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: &uuml;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&ouml;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&ouml;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&auml;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&uuml;r zus&auml;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&uuml;hrt die &uuml;bergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text f&uuml;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&auml;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&auml;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&auml;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&ouml;ffnet wird wenn die Maus &uuml;ber dem Link ist. *}
&lt;A href="mypage.html" {popup text="This link takes you to my page!"}&gt;mypage&lt;/A&gt;
{* Sie k&ouml;nnen in einem Popup text, html, links und weiteres verwenden *}
&lt;A href="mypage.html" {popup sticky=true caption="mypage contents"
text="&lt;UL&gt;&lt;LI&gt;links&lt;LI&gt;pages&lt;LI&gt;images&lt;/UL&gt;" snapx=10 snapy=10}&gt;mypage&lt;/A&gt;
AUSGABE:
(F&uuml;r Beispiele k&ouml;nnen Sie sich die Smarty Homepage anschauen.)</programlisting>
</example>
</sect1>
<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&uuml;r das einr&uuml;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&uuml;r das Einr&uuml;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&uuml;cken verwendet werden soll.</entry>
</row>
<row>
<entry>wrap</entry>
<entry>number</entry>
<entry>Nein</entry>
<entry><emphasis>80</emphasis></entry>
<entry>Maximale Zeilenl&auml;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&uuml;r Zeilenumbr&uuml;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 &uuml;berfl&uuml;ssige Leerzeichen und formatiert Paragrafen
indem sie die Zeilen einr&uuml;ckt und umbricht.
</para>
<para>
Sie k&ouml;nnen entweder den aktuellen Stil verwenden, oder ihn anhand
der Parameter selber definieren. Im Moment ist 'email' der einzig verf&uuml;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>
</chapter>
<!-- 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
-->