|
|

|
{if},{elseif},{else}
Pernyataan {if} dalam Smarty memiliki kesamaan
fleksibilitas seperti pernyataan PHP if,
dengan beberapa fitur yang ditambahkan untuk mesin template.
Setiap {if} harus dipasangkan dengan
{/if} yang sama. {else} dan
{elseif} juga dibolehkan. Semua kondisional dan fungsi PHP
dikenal, seperti ||, or,
&&, and,
is_array(), dll.
Jika $security
dihidupkan, hanya fungsi PHP dari array IF_FUNCS dari $security_settings
yang dibolehkan.
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.
Teladan 7-15. pernyataan {if} {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} |
|
Teladan 7-16. contoh {if} berikutnya {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} |
|
|
|
|