2004-04-13 08:46:28 +00:00
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
|
|
|
<!-- $Revision$ -->
|
2004-07-16 14:32:31 +00:00
|
|
|
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
2004-04-13 08:46:28 +00:00
|
|
|
<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
|
2004-07-16 14:32:31 +00:00
|
|
|
-->
|