Files
smarty/docs/de/designers/language-modifiers.xml
2004-04-13 08:46:28 +00:00

80 lines
4.0 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<chapter id="language.modifiers">
<title>Variablen-Modifikatoren</title>
<para>
Variablen-Modifikatoren k&ouml;nnen auf alle Variablen angewendet werden, um deren Inhalt zu ver&auml;ndern. Dazu
h&auml;ngen sie einfach ein <literal>|</literal> (Pipe-Zeichen) und den Modifikatornamen an die entsprechende
Variable an. Ein Modifikator &uuml;ber Parameter in seiner Arbeitsweise beinflusst werden. Diese Parameter
werden dem Modifikatorname angeh&auml;ngt und mit <literal>:</literal> getrennt.
</para>
<example>
<title>Modifikator Beispiel</title>
<programlisting>
{* Schreibe den Titel in Grossbuchstaben *}
&lt;h2&gt;{$titel|upper}&lt;/h2&gt;
{* K&uuml;rze das Thema auf 40 Zeichen, und h&auml;nge '...' an. *}
Thema: {$thema|truncate:40:"..."}</programlisting>
</example>
<para>
Wenn Sie einen Modifikator auf ein Array anwenden, wird dieser auf jeden Wert angewandt.
Um zu erreichen, dass der Modifkator auf den Array selbst angewendet wird, muss dem
Modifikator ein <literal>@</literal> Zeichen vorangestellt werden. Beispiel:
<literal>{$artikelTitel|@count}</literal> (gibt die Anzahl Elemente des Arrays $artikelTitel aus.)
</para>
<para>
Modifikatoren k&ouml;nnen aus Ihrem <link linkend="variable.plugins.dir">$plugins_dir</link>
automatisch geladen (sehen Sie dazu auch <link linkend="plugins.naming.conventions">Naming Conventions</link>)
oder explizit registriert werden (<link linkend="api.register.modifier">register_modifier</link>).
Zudem k&ouml;nnen alle PHP-Funktionen implizit als Modifikatoren verwendet werden. (Das Beispiel mit dem
<literal>@count</literal> Modifier verwendet die Funktion 'count' von PHP und keinen Smarty Modifikator)
PHP Funktionen zu verwenden er&ouml;ffnet zwei Probleme: erstens: manchmal ist die Parameter Reiehnfolge nicht
erw&uuml;nscht. (<literal>{"%2.f"|sprintf:$float}</literal> funktioniert zwar, sieht aber als <literal>{$float|string_format:"%2.f"}</literal>
das durch Smarty geliefert wird, besser aus. Zweitens: wenn <link linkend="variable.security">$security</link> auf TRUE gesetzt ist,
m&uuml;ssen alle verwendeten PHP Funktionen im <link linkend="variable.security.settings">$security_settings['MODIFIER_FUNCS']</link>-Array
enthalten sein.
</para>
&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
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
-->