smarty template engine
Friday, July 25, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


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 />



 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.