Files
smarty/docs/id/designers/language-builtin-functions/language-function-if.xml
2007-09-18 17:45:46 +00:00

264 lines
6.1 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.if">
<title>{if},{elseif},{else}</title>
<para>
Pernyataan <varname>{if}</varname> dalam Smarty memiliki kesamaan
fleksibilitas seperti pernyataan PHP <ulink url="&url.php-manual;if">if</ulink>,
dengan beberapa fitur yang ditambahkan untuk mesin template.
Setiap <varname>{if}</varname> harus dipasangkan dengan
<varname>{/if}</varname> yang sama. <varname>{else}</varname> dan
<varname>{elseif}</varname> juga dibolehkan. Semua kondisional dan fungsi PHP
dikenal, seperti <emphasis>||</emphasis>, <emphasis>or</emphasis>,
<emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>,
<emphasis>is_array()</emphasis>, dll.
</para>
<para>
Jika <link linkend="variable.security"><parameter>$security</parameter></link>
dihidupkan, hanya fungsi PHP dari array <emphasis>IF_FUNCS</emphasis> dari <link
linkend="variable.security.settings"><parameter>$security_settings</parameter></link>
yang dibolehkan.
</para>
<para>
Berikut adalah daftar kualifikator yang dikenal yang harus dipisahkan dari
elemen yang dikelilingi oleh spasi. Catatan bahwa item terdaftar dalam
[kurung] adalah opsional. Persamaan PHP ditampilkan bila memungkinkan.
</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>Kualifikator</entry>
<entry>Pembeda</entry>
<entry>Contoh Sintaks</entry>
<entry>Arti</entry>
<entry>Persamaan PHP</entry>
</row>
</thead>
<tbody>
<row>
<entry>==</entry>
<entry>eq</entry>
<entry>$a eq $b</entry>
<entry>sama</entry>
<entry>==</entry>
</row>
<row>
<entry>!=</entry>
<entry>ne, neq</entry>
<entry>$a neq $b</entry>
<entry>tidak sama</entry>
<entry>!=</entry>
</row>
<row>
<entry>&gt;</entry>
<entry>gt</entry>
<entry>$a gt $b</entry>
<entry>lebih besar dari</entry>
<entry>&gt;</entry>
</row>
<row>
<entry>&lt;</entry>
<entry>lt</entry>
<entry>$a lt $b</entry>
<entry>kurang dari</entry>
<entry>&lt;</entry>
</row>
<row>
<entry>&gt;=</entry>
<entry>gte, ge</entry>
<entry>$a ge $b</entry>
<entry>lebih besar atau sama</entry>
<entry>&gt;=</entry>
</row>
<row>
<entry>&lt;=</entry>
<entry>lte, le</entry>
<entry>$a le $b</entry>
<entry>kurang dari atau sama</entry>
<entry>&lt;=</entry>
</row>
<row>
<entry>===</entry>
<entry></entry>
<entry>$a === 0</entry>
<entry>periksa identitas</entry>
<entry>===</entry>
</row>
<row>
<entry>!</entry>
<entry>not</entry>
<entry>not $a</entry>
<entry>negasi (unari)</entry>
<entry>!</entry>
</row>
<row>
<entry>%</entry>
<entry>mod</entry>
<entry>$a mod $b</entry>
<entry>modulus</entry>
<entry>%</entry>
</row>
<row>
<entry>is [not] div by</entry>
<entry></entry>
<entry>$a is not div by 4</entry>
<entry>bisa dibagi dengan</entry>
<entry>$a % $b == 0</entry>
</row>
<row>
<entry>is [not] even</entry>
<entry></entry>
<entry>$a is not even</entry>
<entry>[bukan] angka genap (unari)</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>tingkat pengelompokan [bukan] genap</entry>
<entry>($a / $b) % 2 == 0</entry>
</row>
<row>
<entry>is [not] odd</entry>
<entry></entry>
<entry>$a is not odd</entry>
<entry>[bukan] angka ganjil (unari)</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>[bukan] pengelompokan ganjil</entry>
<entry>($a / $b) % 2 != 0</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<example>
<title>pernyataan {if}</title>
<programlisting>
<![CDATA[
{if $name eq 'Fred'}
Welcome Sir.
{elseif $name eq 'Wilma'}
Welcome Ma'am.
{else}
Welcome, whatever you are.
{/if}
{* contoh dengan logika "or" *}
{if $name eq 'Fred' or $name eq 'Wilma'}
...
{/if}
{* sama seperti di atas *}
{if $name == 'Fred' || $name == 'Wilma'}
...
{/if}
{* kurung buka/tutup dibolehkan *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* anda juga bisa menyertakan fungsi panggil php *}
{if count($var) gt 0}
...
{/if}
{* periksa array. *}
{if is_array($foo) }
.....
{/if}
{* periksa untuk yang bukan null. *}
{if isset($foo) }
.....
{/if}
{* uji apakah nilai genap atau ganjil *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* uji apakah var bisa dibagi dengan 4 *}
{if $var is div by 4}
...
{/if}
{*
uji apakah var genap, dikelompokan oleh dua. misalnya,
0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, dst.
*}
{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>
<example>
<title>contoh {if} berikutnya</title>
<programlisting>
<![CDATA[
{if isset($name) && $name == 'Blog'}
{* lakukan sesuatu *}
{elseif $name == $foo}
{* lakukan sesuatu *}
{/if}
{if is_array($foo) && count($foo) > 0)
{* lakukan untuk setiap pengulangan *}
{/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
-->