|
|

|
Bab 4. Variabel
Smarty mempunyai beberapa tipe variabel berbeda. Tipe variabel tergantung pada
simbol apa ia diawali atau ditutupi.
Variabel dalam Smarty bisa ditampilkan secara langsung atau dipakai sebagai
argumen untuk fungsi,
atribut dan
penguibah, di dalam ekspresi
kondisional, dll. Untuk mencetak variabel, cukup tutupi ia dalam
pembatas agar ia
satu-satunya yang diisikan diantaranya.
Teladan 4-1. Contoh variabel {$Name}
{$product.part_no} <b>{$product.description}</b>
{$Contacts[row].Phone}
<body bgcolor="{#bgcolor#}"> |
|
Tips: Cara mudah untuk menentukan variabel Smarty adalah dengan
konsol debugging.
Variabel ditempatkan dari PHP
Variabel
assigned dari PHP direferensi oleh
pendahulunya dengan tanda dolar $ (seperti php).
Variabel yang ditempati dari dalam template dengan fungsi
{assign}
juga ditampilkan dengan cara ini.
Teladan 4-2. Variabel yang ditempati naskah php
<?php
$smarty = new Smarty();
$smarty->assign('firstname', 'Doug'); $smarty->assign('lastname', 'Evans'); $smarty->assign('meetingPlace', 'New York');
$smarty->display('index.tpl');
?>
|
di mana konten index.tpl adalah:
Hello {$firstname} {$lastname}, glad to see you can make it.
<br />
{* ini tidak akan bekerja karena $variables adalah sensitif huruf *}
This weeks meeting is in {$meetingplace}.
{* ini akan bekerja *}
This weeks meeting is in {$meetingPlace}. |
Output di atas:
Hello Doug Evans, glad to see you can make it.
<br />
This weeks meeting is in .
This weeks meeting is in New York. |
|
Array asosiatif
Anda juga bisa mereferensi variabel array asosiatif yang ditempatkan dari
PHP dengan menetapkan kunci setelah simbol '.' (titik).
Teladan 4-3. Mengakses variabel array asosiatif
<?php $smarty->assign('Contacts', array('fax' => '555-222-9876', 'email' => 'zaphod@slartibartfast.example.com', 'phone' => array('home' => '555-444-3333', 'cell' => '555-111-1234') ) ); $smarty->display('index.tpl'); ?>
|
di mana konten index.tpl adalah:
{$Contacts.fax}<br />
{$Contacts.email}<br />
{* anda dapat menampilkan array dari array juga *}
{$Contacts.phone.home}<br />
{$Contacts.phone.cell}<br /> |
ini akan menampilkan:
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Indeks array
Anda bisa mereferensi array dengan indeksnya, lebih mirip dengan sintaks PHP.
Teladan 4-4. Mengakses array dengan indeks
<?php $smarty->assign('Contacts', array( '555-222-9876', 'zaphod@slartibartfast.example.com', array('555-444-3333', '555-111-1234') )); $smarty->display('index.tpl'); ?>
|
di mana index.tpl adalah:
{$Contacts[0]}<br />
{$Contacts[1]}<br />
{* anda dapat menampilkan arrays dari arrays juga *}
{$Contacts[2][0]}<br />
{$Contacts[2][1]}<br /> |
Ini akan menampilkan:
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br /> |
|
Obyek
Properti obyek
yang ditempatkan dari PHP dapat direferensi dengan menetapkan nama properti
setelah simbol ->.
Teladan 4-5. Mengakses properti obyek name: {$person->name}<br />
email: {$person->email}<br /> |
ini akan menampilkan:
name: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.example.com<br /> |
|
|
|
|