Home  |  Linux  | Mysql  | PHP  | XML
From:Zaenal Mutaqin Date:Tue Sep 18 11:41:05 2007
Subject:cvs: smarty /docs/id/designers/language-basic-syntax language-escaping.xml language-math.xml language-syntax-attributes.xml
language-syntax-comments.xml language-syntax-functions.xml language-syntax-quotes.xml language-syntax-variables.xml
/docs/id/designers/language-builtin-functions language-function-capture.xml language-function-config-load.xml language-function-foreach.xml
language-function-if.xml language-function-include-php.xml language-function-include.xml language-function-insert.xml language-function-ldelim.xml
language-function-literal.xml language-function-php.xml language-function-section.xml language-function-strip.xml
/docs/id/designers/language-custom-functions language-function-assign.xml language-function-counter.xml language-function-cycle.xml
language-function-debug.xml language-function-eval.xml language-function-fetch.xml language-function-html-checkboxes.xml
language-function-html-image.xml language-function-html-options.xml language-functio!
n-html-radios.xml language-function-html-select-date.xml language-function-html-select-time.xml language-function-html-table.xml
language-function-mailto.xml language-function-math.xml language-function-popup-init.xml language-function-popup.xml language-function-textformat.xml
/docs/id/designers/language-modifiers language-modifier-capitalize.xml language-modifier-cat.xml language-modifier-count-characters.xml
language-modifier-count-paragraphs.xml language-modifier-count-sentences.xml language-modifier-count-words.xml language-modifier-date-format.xml
language-modifier-default.xml language-modifier-escape.xml language-modifier-indent.xml language-modifier-lower.xml language-modifier-nl2br.xml
language-modifier-regex-replace.xml language-modifier-replace.xml language-modifier-spacify.xml language-modifier-string-format.xml
language-modifier-strip-tags.xml language-modifier-strip.xml language-modifier-truncate.xml language-modifier-upper.xml
language-modifier-wordwrap.xml !
/docs/id/designers/language-variables language-assigned-variables.xml language-config-variables.xml language-variables-smarty.xml
adezm		Tue Sep 18 17:41:05 2007 UTC

  Added files:                 
    /smarty/docs/id/designers/language-basic-syntax	
                                                   	language-escaping.xml 
                                                   	language-math.xml 
                                                   	language-syntax-attributes.xml 
                                                   	language-syntax-comments.xml 
                                                   	language-syntax-functions.xml 
                                                   	language-syntax-quotes.xml 
                                                   	language-syntax-variables.xml 
    /smarty/docs/id/designers/language-builtin-functions	
                                                        	language-function-capture.xml 
                                                        	language-function-config-load.xml 
                                                        	language-function-foreach.xml 
                                                        	language-function-if.xml 
                                                        	language-function-include-php.xml 
                                                        	language-function-include.xml 
                                                        	language-function-insert.xml 
                                                        	language-function-ldelim.xml 
                                                        	language-function-literal.xml 
                                                        	language-function-php.xml 
                                                        	language-function-section.xml 
                                                        	language-function-strip.xml 
    /smarty/docs/id/designers/language-custom-functions	
                                                       	language-function-assign.xml 
                                                       	language-function-counter.xml 
                                                       	language-function-cycle.xml 
                                                       	language-function-debug.xml 
                                                       	language-function-eval.xml 
                                                       	language-function-fetch.xml 
                                                       	language-function-html-checkboxes.xml 
                                                       	language-function-html-image.xml 
                                                       	language-function-html-options.xml 
                                                       	language-function-html-radios.xml 
                                                       	language-function-html-select-date.xml 
                                                       	language-function-html-select-time.xml 
                                                       	language-function-html-table.xml 
                                                       	language-function-mailto.xml 
                                                       	language-function-math.xml 
                                                       	language-function-popup-init.xml 
                                                       	language-function-popup.xml 
                                                       	language-function-textformat.xml 
    /smarty/docs/id/designers/language-modifiers	
                                                	language-modifier-capitalize.xml 
                                                	language-modifier-cat.xml 
                                                	language-modifier-count-characters.xml 
                                                	language-modifier-count-paragraphs.xml 
                                                	language-modifier-count-sentences.xml 
                                                	language-modifier-count-words.xml 
                                                	language-modifier-date-format.xml 
                                                	language-modifier-default.xml 
                                                	language-modifier-escape.xml 
                                                	language-modifier-indent.xml 
                                                	language-modifier-lower.xml 
                                                	language-modifier-nl2br.xml 
                                                	language-modifier-regex-replace.xml 
                                                	language-modifier-replace.xml 
                                                	language-modifier-spacify.xml 
                                                	language-modifier-string-format.xml 
                                                	language-modifier-strip-tags.xml 
                                                	language-modifier-strip.xml 
                                                	language-modifier-truncate.xml 
                                                	language-modifier-upper.xml 
                                                	language-modifier-wordwrap.xml 
    /smarty/docs/id/designers/language-variables	
                                                	language-assigned-variables.xml 
                                                	language-config-variables.xml 
                                                	language-variables-smarty.xml 
  Log:
  Typos correction and all translated now.
  

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-escaping.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-escaping.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-escaping.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.escaping">
 <title>Escaping Penguraian Smarty</title>
 <para>
  Ada kalanya diinginkan atau bahkan perlu agar Smarty mengabaikan seksi
  atau sebaliknya akan diuraikan. Contoh klasi adalah melengketkan kode 
  Javascript atau CSS dalam sebuah template. Masalah muncul karena bahasa
  tersebut menggunakan karakter { dan } yang juga merupakan 
  <link linkend="language.function.ldelim">pembatas</link> standar untuk
  Smarty.
 </para>

 <para>
  Hal paling sederhana untuk menghindari situasi sekaligus adalah dengan 
  memisahkan kode Javascript dan CSS anda ke dalam filenya sendiri dan
  kemudian menggunakan metode standar HTML untuk mengaksesnya.
 </para>

 <para>
  Menyertakan konten literal dimungkinkan dengan menggunakan blok <link
  linkend="language.function.literal">
  <varname>{literal}..{/literal}</varname></link>.
  Mirip dengan penggunaan entitas HTML, anda bisa memakai <link
  linkend="language.function.ldelim"><varname>{ldelim}</varname></link>,<link
  linkend="language.function.ldelim"><varname>{rdelim}</varname></link> atau
  <link linkend="language.variables.smarty.ldelim">
  <varname>{$smarty.ldelim}</varname></link> untuk menampilkan pembatas saat 
  ini.
 </para>

 <para>
  Seringkali lebih nyaman dengan cukup mengubah <link
  linkend="variable.left.delimiter">
  <parameter>$left_delimiter</parameter></link> dan
  <link linkend="variable.right.delimiter">
  <parameter>$right_delimiter</parameter></link> Smarty.
 </para>
 <example>
  <title>contoh mengubah pembatas</title>
  <programlisting role="php">
<![CDATA[
<?php

$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';

$smarty->assign('foo', 'bar');
$smarty->assign('name', 'Albert');
$smarty->display('example.tpl');

?>
]]>
  </programlisting>
  <para>
   Di mana template adalah:
  </para>
  <programlisting>
<![CDATA[
Welcome <!--{$name}--> to Smarty
<script language="javascript">
  var foo = <!--{$foo}-->;
  function dosomething() {
    alert("foo is " + foo);
  }
  dosomething();
</script>
]]>
  </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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-math.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-math.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-math.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.math">
 <title>Matematika</title>
 <para>
  Matematika dapat diterapkan secara langsung ke nilai variabel.
 </para>
 <example>
  <title>contoh matematika</title>
  <programlisting>
<![CDATA[
{$foo+1}

{$foo*$bar}

{* beberapa contoh lebih rumit *}

{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}

{if ($foo+$bar.test%$baz*134232+10+$b+10)}

{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}

{assign var="foo" value="`$foo+$bar`"}
]]>
  </programlisting>
 </example>

 <para>
 Lihat juga fungsi <link linkend="language.function.math">
 <varname>{math}</varname></link> untuk persamaan yang kompleks dan
 <link linkend="language.function.eval"><varname>{eval}</varname></link>.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-syntax-attributes.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.syntax.attributes">
 <title>Atribut</title>
 <para>
  Kebanyakan <link linkend="language.syntax.functions">fungsi</link>
  memerlukan atribut yang menetapkan atau mengubah perilakunya. Atribut
  bagi fungsi Smarty lebih mirip atribut HTML. Nilai statis tidak perlu
  ditutup dengan tanda kutip, tapi direkomendasikan untuk string literal.
  Variabel bisa juga dipakai, dan tidak boleh dalam tanda kutip.
 </para>
 <para>
  Beberapa atribut memerlukan nilai boolean (&true; atau &false;). Ini dapat
  ditetapkan sebagai tanpa tanda kutip <literal>true</literal>,
  <literal>on</literal>, dan <literal>yes</literal>, atau
  <literal>false</literal>, <literal>off</literal>, dan
  <literal>no</literal>.
 </para>
 <example>
  <title>sintaks atribut fungsi</title>
  <programlisting>
<![CDATA[
{include file='header.tpl'}

{include file='header.tpl' attrib_name='attrib value'}

{include file=$includeFile}

{include file=#includeFile# title='Smarty is cool'}

{html_select_date display_days=yes}

{mailto address='smarty@example.com'}

<select name='company_id'>
  {html_options options=$companies selected=$company_id}
</select>
]]>
  </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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-syntax-comments.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-syntax-comments.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-syntax-comments.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.syntax.comments">
 <title>Komentar</title>
 <para>
  Komentar template dikelilingi oleh bintang, dan ditutup oleh tag 
  <link linkend="variable.left.delimiter">pembatas</link>
  seperti:
  </para>
    <informalexample>
   <programlisting>
<![CDATA[
{* ini adalah sebuah komentar *}
]]>
   </programlisting>
  </informalexample>
  <para>
  Komentar Smarty TIDAK ditampilkan dalam output template final, tidak seperti
  <literal>&lt;!-- HTML comments --&gt;</literal>.
  Ini berguna untuk membuat catatan internal dalam template yang tak seorangpun
  akan melihatnya ;-)
 </para>
 <example>
  <title>Komentar di dalam template</title>
  <programlisting>
<![CDATA[
{* Saya adalah komentar Smarty, Saya tidak ada dalam output terkompilasi  *}
<html>
<head>
<title>{$title}</title>
</head>
<body>

{* komentar smarti satu baris lainnya  *}
<!-- HTML comment that is sent to the browser -->

{* ini komentar smarty
   multi baris
   tidak dikirimkan ke browser
*}

{*********************************************************
Blok komentar multi baris dengan blok penghargaan
  @ pembuat:        bg@example.com
  @ pemeliharan     support@example.com
  @ para:           var yang menetapkan gaya blok
  @ css:            gaya output
**********************************************************}

{* File header dengan logo utama dan lainnya  *}
{include file='header.tpl'}


{* Catatan Dev:  var $includeFile ditempatkan dalam naskah foo.php  *}
<!-- Displays main content block -->
{include file=$includeFile}

{* blok <select> ini mubazir *}
{*
<select name="company">
  {html_options options=$vals selected=$selected_id}
</select>
*}

<!-- Show header from affiliate is disabled -->
{* $affiliate|upper *}

{* you cannot nest comments *}
{*
<select name="company">
  {* <option value="0">-- none -- </option> *}
  {html_options options=$vals selected=$selected_id}
</select>
*}


{* tag cvs untuk template, di bawah 36 HARUS kurs amerika.. akan tetapi ia diubah dalam cvs.. *}
{* &#36;Id: Exp &#36; *}
{* $Id: *}
</body>
</html>
]]>
  </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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-syntax-functions.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-syntax-functions.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-syntax-functions.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.syntax.functions">
 <title>Fungsi</title>
 <para>
  Setiap tag Smarty bisa mencetak
  <link linkend="language.variables">variabel</link> ataupun memanggil beberapa
  fungsi. Ini diproses dan ditampilkan dengan menutupi fungsi dan 
  <link linkend="language.syntax.attributes">atribut</link>nya
  di dalam pembatas seperti:
  <literal>{funcname attr1='val1' attr2='val2'}</literal>.
 </para>
 <example>
  <title>sintaks fungsi</title>
  <programlisting>
<![CDATA[
{config_load file='colors.conf'}

{include file='header.tpl'}
{insert file='banner_ads.tpl' title='Smarty is cool'}

{if $logged_in}
    Welcome, <font color="{#fontColor#}">{$name}!</font>
{else}
    hi, {$name}
{/if}

{include file='footer.tpl' ad=$random_id}
]]>
  </programlisting>
 </example>

 <itemizedlist>
 <listitem><para>
  Kedua <link linkend="language.builtin.functions">fungsi built-in</link>
  dan <link linkend="language.custom.functions">fungsi kustom</link>
  mempunyai sintaks yang sama di dalam template.
  </para></listitem>

  <listitem><para>Fungsi built-in adalah
  <emphasis role="bold">inner</emphasis> pekerjaan Smarty, seperti
  <link linkend="language.function.if"><varname>{if}</varname></link>,
  <link linkend="language.function.section"><varname>{section}</varname></link> dan
  <link linkend="language.function.strip"><varname>{strip}</varname></link>.
  Tidak diperlukan untuk mengubah atau memodifikasinya.
  </para></listitem>

  <listitem><para>Fungsi kustom adalah fungsi
  <emphasis role="bold">tambahan</emphasis>
  yang diimplementasikan via <link linkend="plugins">plugins</link>.
  Ini dapat diubah sesuai dengan yang anda sukai, atau anda bisa membuat yang 
  baru,
  <link linkend="language.function.html.options">
  <varname>{html_options}</varname></link> dan
  <link linkend="language.function.popup"><varname>{popup}</varname></link>
  adalah contoh dari fungsi kustom.
 </para></listitem>
</itemizedlist>

 <para>
 Lihat juga <link linkend="api.register.function"><varname>register_function()</varname></link>
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-syntax-quotes.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.syntax.quotes">
 <title>Menyertakan Vars dalam Tanda Kutip Ganda</title>

 <itemizedlist>
  <listitem>
 <para>
  Smarty akan mengenali <link linkend="language.syntax.variables">variabel</link>
  yang <link linkend="api.assign">ditempati</link> yang disertakan dalam
  "tanda kutip ganda" selama nama variabel hanya berisi angka, huruf, garis bawah,
  dan kurung[].
  Lihat <ulink url="&url.php-manual;language.variables">penamaan</ulink>
  untuk lebih jelasnya.
  </para></listitem>

  <listitem><para>
  Dengan karakter lainnya, contohnya .titik atau
  <literal>$object>referensi</literal>, maka variabel harus dikelilingi oleh
  <literal>`tanda kutip mundur`</literal>.
  </para></listitem>

  <listitem><para>Anda tidak bisa menyertakan
  <link linkend="language.modifiers">pengubah</link>, ia harus selalu diterapkan
  di luar tanda kutip.
 </para></listitem>
 </itemizedlist>

 <example>
  <title>Contoh sintaks</title>
  <programlisting>
<![CDATA[
{func var="test $foo test"}       <-- melihat $foo
{func var="test $foo_bar test"}   <-- melihat $foo_bar
{func var="test $foo[0] test"}    <-- melihat $foo[0]
{func var="test $foo[bar] test"}  <-- melihat $foo[bar]
{func var="test $foo.bar test"}   <-- melihat $foo (bukan $foo.bar)
{func var="test `$foo.bar` test"} <-- melihat $foo.bar
{func var="test `$foo.bar` test"|escape} <-- pengubah di luar tanda kutip!
]]>
  </programlisting>
</example>

 <example>
  <title>Contoh praktis</title>
  <programlisting>
<![CDATA[
{* akan mengganti $tpl_name dengan nilai *}
{include file="subdir/$tpl_name.tpl"}

{* tidak mengganti $tpl_name *}
{include file='subdir/$tpl_name.tpl'} <--

{* harus mempunyai tanda kutip mundur karena berisi sebuah . *}
{cycle values="one,two,`$smarty.config.myval`"}

{*  sama seperti $module['contact'].'.tpl' dalam naskah php
{include file="`$module.contact`.tpl"}

{*  sama seperti $module[$view].'.tpl' dalam naskah php
{include file="$module.$view.tpl"}
]]>
  </programlisting>
 </example>

 <para>
  Lihat juga <link linkend="language.modifier.escape"><varname>escape</varname></link>.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-basic-syntax/language-syntax-variables.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-basic-syntax/language-syntax-variables.xml
+++ smarty/docs/id/designers/language-basic-syntax/language-syntax-variables.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.syntax.variables">
 <title>Variabel</title>
 <para>
  Variabel template dimulai dengan tanda $dolar. Ia dapat berisi angka,
  huruf dan garis bawah, lebih mirip
  <ulink url="&url.php-manual;language.variables">variabel PHP</ulink>.
  Anda bisa mereferensi array dengan indeks secara numerik atau non-numerik.
  Juga referensi properi dan metode obyek.</para>
  <para>
  <link linkend="language.config.variables">Variabel file config</link>
  adalah kekecualian untuk sintaks $dolar dan sebaliknya direferensi dengan
  sekeliling #tanda kris#, atau via variabel
  <link linkend="language.variables.smarty.config">
  <parameter>$smarty.config</parameter></link>.
 </para>
 <example>
  <title>Variabel</title>
  <programlisting>
<![CDATA[
{$foo}        <-- menampilkan variabel sederhana (non array/obyek)
{$foo[4]}     <-- menampilkan elemen ke-5 dari array berbasis-nol
{$foo.bar}    <-- menampilkan nilai kunci "bar" dari sebuah array, mirip dengan PHP $foo['bar']
{$foo.$bar}   <-- menampilkan nilai kunci variabel sebuah array, mirip dengan PHP $foo[$bar]
{$foo->bar}   <-- menampilkan properti obyek "bar"
{$foo->bar()} <-- menampilkan pengembalian nilai metode obyek "bar"
{#foo#}       <-- menampilkan variabel file config "foo"
{$smarty.config.foo} <-- persamaan untuk {#foo#}
{$foo[bar]}   <-- sintaks hanya benar dalam pengulangan, lihat {section}
{assign var=foo value='baa'}{$foo} <--  menampilkan "baa", lihat {assign}

Banyak kombinasi lain yang dibolehkan

{$foo.bar.baz}
{$foo.$bar.$baz}
{$foo[4].baz}
{$foo[4].$baz}
{$foo.bar.baz[4]}
{$foo->bar($baz,2,$bar)} <-- mengirimkan parameter
{"foo"}       <-- nilai statis dibolehkan

{* menampilkan variabel server "SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
]]>
  </programlisting>
 </example>

 <para>Request variables such as <literal>$_GET</literal>,
 <literal>$_SESSION</literal>, etc are available via the
 reserved <link linkend="language.variables.smarty">
 <parameter>$smarty</parameter></link> variable.
 </para>

 <para>
  Lihat juga <link linkend="language.variables.smarty">
  <parameter>$smarty</parameter></link>,
  <link linkend="language.config.variables">variabel config</link>
  <link linkend="language.function.assign"><varname>{assign}</varname></link>
  dan
  <link linkend="api.assign"><varname>assign()</varname></link>.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-capture.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-capture.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-capture.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.capture">
 <title>{capture}</title>

  <para>
   <varname>{capture}</varname> dipakai untuk mengumpulkan output template antara
   tag ke dalam variable daripada menampilkannya. Setiap konten antara
   <varname>{capture name='foo'}</varname> dan <varname>{/capture}</varname> 
   yang dikumpulkan ke dalam variabel ditetapkan dalam atribut 
   <parameter>name</parameter>.
   </para>
   <para>Konten yang ditangkap dapat digunakan dalam template dari variabel <link
    linkend="language.variables.smarty.capture"><parameter>$smarty.capture.foo</parameter></link>
   di mana <quote>foo</quote> adalah nilai yang dikirimkan dalam atribut <parameter>name</parameter>.
   Jika anda tidak menyertakan atribut <parameter>name</parameter>, maka 
   <quote>default</quote> akan dipakai sebagai nama misalnya 
   <parameter>$smarty.capture.default</parameter>.
   </para>
   <para><varname>{capture}'s</varname> dapat diulang-ulang.
   </para>


 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Attribute Name</entry>
     <entry>Type</entry>
     <entry>Required</entry>
     <entry>Default</entry>
     <entry>Description</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>name</entry>
     <entry>string</entry>
     <entry>no</entry>
     <entry><emphasis>default</emphasis></entry>
     <entry>The name of the captured block</entry>
    </row>
    <row>
     <entry>assign</entry>
     <entry>string</entry>
     <entry>No</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>The variable name where to assign the captured output to</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>


 <note>
 <title>Perhatian</title>
  <para>
   Harap berhati-hati ketika menangkap output <link
   linkend="language.function.insert"><varname>{insert}</varname></link>. Jika
   anda menghidupkan
   <link linkend="caching"><parameter>$caching</parameter></link>
   dan anda mempunyai perintah
   <link linkend="language.function.insert"><varname>{insert}</varname></link>
   yang anda harapkan untuk dijalankan di dalam konten yang di-cache, jangan
   menangkap konten ini.
  </para>
 </note>

 <para>
  <example>
   <title>{capture} dengan atribut nama</title>
   <programlisting>
<![CDATA[
{* kita tidak ingin mencetak tag div kecuali konten yang ditampilkan *}
{capture name=banner}
  {include file='get_banner.tpl'}
{/capture}

{if $smarty.capture.banner ne ''}
<div id="banner">{$smarty.capture.banner}</div>
{/if}
]]>
   </programlisting>
  </example>

    <example>
     <title>{capture} ke dalam variabel template</title>
     <para>Contoh ini juga memperlihatkan fungsi
     <link linkend="language.function.popup"><varname>{popup}</varname></link>
     </para>
     <programlisting>
<![CDATA[
{capture name=some_content assign=popText}
Server adalah {$smarty.server.SERVER_NAME|upper} pada {$smarty.server.SERVER_ADDR}<br>
IP anda adalah {$smarty.server.REMOTE_ADDR}.
{/capture}
<a href="#" {popup caption='Info Server' text=$popText}>bantuan</a>
]]>
     </programlisting>
  </example>


 </para>
 <para>
  Lihat juga
  <link
   linkend="language.variables.smarty.capture"><parameter>$smarty.capture</parameter></link>,
   <link linkend="language.function.eval"><varname>{eval}</varname></link>,
  <link linkend="language.function.fetch"><varname>{fetch}</varname></link>,
  <link linkend="api.fetch"><varname>fetch()</varname></link>
  dan <link linkend="language.function.assign"><varname>{assign}</varname></link>.
 </para>
</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
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-config-load.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-config-load.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-config-load.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.config.load">
 <title>{config_load}</title>
  <para>
   <varname>{config_load}</varname> dipakai untuk mengambil 
   <link linkend="language.config.variables"><parameter>#variables#</parameter></link> 
   konfig dari <link linkend="config.files">file konfigurasi</link> ke dalam 
   template.
 </para>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Attribute Name</entry>
     <entry>Type</entry>
     <entry>Required</entry>
     <entry>Default</entry>
     <entry>Description</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>file</entry>
     <entry>string</entry>
     <entry>Yes</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama file config untuk disertakan</entry>
    </row>
    <row>
     <entry>section</entry>
     <entry>string</entry>
     <entry>No</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama seksi untuk diambil</entry>
    </row>
    <row>
     <entry>scope</entry>
     <entry>string</entry>
     <entry>no</entry>
     <entry><emphasis>lokal</emphasis></entry>
     <entry>
      Bagaimana lingkup variabel yang diambil diperlakukan, yang harus berupa 
      lokal, parent atau global. Lokal berarti variabel diambil ke dalam konteks 
      template lokal. parent berarti variabel diambil ke dalam konteks lokal 
      dan template leluhur yang memanggilnya. 
      global berarti variabel tersedia bagi seluruh template.
     </entry>
    </row>
    <row>
     <entry>global</entry>
     <entry>boolean</entry>
     <entry>No</entry>
     <entry><emphasis>No</emphasis></entry>
     <entry>
      Apakah variabel terlihat ke template leluhurnya atau tidak,
      sama seperti scope=parent. CATATAN: Atribut ini tidak dipakai lagi
      oleh atribut scope, tapi masih didukugn. Jika scope disertakan,
      nilai ini diabaikan.
     </entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>

 <example>
  <title>{config_load}</title>
  <para>
   File <filename>example.conf</filename>.
  </para>
  <programlisting>
<![CDATA[
#ini komentar file config

# variabel global
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00

#seksi variabel kustomer
[Customer]
pageTitle = "Customer Info"
]]>
  </programlisting>
  <para>dan template</para>
  <programlisting>
<![CDATA[
{config_load file="example.conf"}

<html>
<title>{#pageTitle#|default:"No title"}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
   <tr bgcolor="{#rowBgColor#}">
      <td>First</td>
      <td>Last</td>
      <td>Address</td>
   </tr>
</table>
</body>
</html>
]]>
  </programlisting>
 </example>
 <para>
  <link linkend="config.files">File Config</link>
  dapat juga berisi seksi. Anda bisa mengambil variabel dari dalam seksi
  dengan menambahkan atribut <parameter>section</parameter>. Catatan bahwa
  variabel config global selalu diambil bersamaan dengan variabel seksi,
  dan variabel seksi bernama-sama menimpa global.
 </para>
 <note>
  <para>
   <emphasis>Seksi</emphasis> file config dan fungsi template built-in
   memanggil <link linkend="language.function.section"><varname>{section}</varname></link>
   tidak ada kaitannya dengan yang lain, itu terjadi untuk berbagi konvensi 
   penamaan umum.
  </para>
 </note>
 <example>
  <title>function {config_load} dengan seksi</title>
  <programlisting>
<![CDATA[
{config_load file='example.conf' section='Customer'}

<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
   <tr bgcolor="{#rowBgColor#}">
      <td>First</td>
      <td>Last</td>
      <td>Address</td>
   </tr>
</table>
</body>
</html>
]]>
  </programlisting>
 </example>

<para>
Lihat <link linkend="variable.config.overwrite"><parameter>$config_overwrite</parameter></link>
untuk membuat arrays dari variabel file config.
</para>

 <para>
  Lihat juga halaman <link linkend="config.files">config files</link>, halaman
  <link linkend="language.config.variables">config variables</link>,
  <link linkend="variable.config.dir"><parameter>$config_dir</parameter></link>,
  <link linkend="api.get.config.vars"><varname>get_config_vars()</varname></link>
  dan
  <link linkend="api.config.load"><varname>config_load()</varname></link>.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-foreach.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-foreach.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-foreach.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.foreach">
 <title>{foreach},{foreachelse}</title>
  <para>
  <varname>{foreach}</varname> dipakai untuk mengulang terus-menerus melalui
   <emphasis role="bold">array asosiatif</emphasis> juga array-diindeks secara 
   numerik, tidak seperti <link linkend="language.function.section"><varname>{section}</varname></link>
  yang untuk mengulang melalui <emphasis role="bold">hanya array-diindeks secara numerik</emphasis>.
  Sintaks untuk 
   <varname>{foreach}</varname> jauh lebih mudah daripada 
   <link linkend="language.function.section"><varname>{section}</varname></link>,
   tapi sebagai imbalannya <emphasis role="bold">hanya bisa dipakai untuk array 
   tunggal</emphasis>. Setiap tag <varname>{foreach}</varname> harus 
   dipasangkan dengan tag <varname>{/foreach}</varname> penutup.
   </para>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Attribute Name</entry>
     <entry>Type</entry>
     <entry>Required</entry>
     <entry>Default</entry>
     <entry>Description</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>from</entry>
     <entry>array</entry>
     <entry>Yes</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Array yang anda ulang terus</entry>
    </row>
    <row>
     <entry>item</entry>
     <entry>string</entry>
     <entry>Yes</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama variabel yang jadi elemen saat ini</entry>
    </row>
    <row>
     <entry>key</entry>
     <entry>string</entry>
     <entry>No</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama variabel yang saat ini jadi kunci</entry>
    </row>
    <row>
     <entry>name</entry>
     <entry>string</entry>
     <entry>No</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama perulangan foreach untuk mengakses properti</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>


   <itemizedlist>
   <listitem><para>
   Atribut yang diperlukan adalah <parameter>from</parameter> dan <parameter>item</parameter>.
   </para></listitem>

   <listitem><para>
   <parameter>Name</parameter> dari pengulangan <varname>{foreach}</varname> 
   bisa apa saja yang anda sukai, terdiri dari huruf, angka dan garis bawah,
   seperti
    <ulink url="&url.php-manual;language.variables">variabel PHP</ulink>.
   </para></listitem>

   <listitem><para>
   Pengulangan <varname>{foreach}</varname> bisa diulang terus, dan nama 
   <varname>{foreach}</varname> yang diulang harus unik dari yang lain.
   </para></listitem>

   <listitem><para>
   Atribut <parameter>from</parameter>, biasanya sebuah array nilai,
   menetapkan jumlah berapa kali <varname>{foreach}</varname> akan diulang.
   </para></listitem>

   <listitem><para>
   <varname>{foreachelse}</varname> dijalankan ketika tidak ada nilai dalam
   variabel <parameter>from</parameter>.
   </para></listitem>

  <listitem><para>
      Pengulangan <varname>{foreach}</varname> juga memiliki variabelnya 
      sendiri yang menangani properti. Ini diakses dengan:
      <link linkend="language.variables.smarty.loops">
      <parameter>{$smarty.foreach.name.property}</parameter></link> dengan
      <quote>name</quote> menjadi atribut
      <parameter>name</parameter>.
      </para>
      <note>
      <title>Catatan</title>
      <para>Atribut <parameter>name</parameter> hanya diperlukan saat anda ingin
      mengakses properti <varname>{foreach</varname>}, tidak seperti
      <link linkend="language.function.section"><varname>{section}</varname></link>.
      Mengakses properti <varname>{foreach}</varname> dengan <parameter>name</parameter>
      tidak terdefinisi tidak menimbulkan kesalahan, tapi sebaliknya
      mengakibatkan hasil yang tidak diinginkan.
      </para>
      </note>
  </listitem>

  <listitem><para>
    Properti <varname>{foreach}</varname> adalah
    <link linkend="foreach.property.index"><parameter>index</parameter></link>,
    <link linkend="foreach.property.iteration"><parameter>iteration</parameter></link>,
    <link linkend="foreach.property.first"><parameter>first</parameter></link>,
    <link linkend="foreach.property.last"><parameter>last</parameter></link>,
    <link linkend="foreach.property.show"><parameter>show</parameter></link>,
    <link linkend="foreach.property.total"><parameter>total</parameter></link>.
    </para></listitem>

  </itemizedlist>

 <example>
  <title>Atribut <parameter>item</parameter></title>
  <programlisting role="php">
<![CDATA[
<?php
$arr = array(1000, 1001, 1002);
$smarty->assign('myArray', $arr);
?>
]]>
  </programlisting>
   <para>Template untuk ditampilkan <parameter>$myArray</parameter> dalam daftar tidak-berurut</para>
  <programlisting>
<![CDATA[
<ul>
{foreach from=$myArray item=foo}
    <li>{$foo}</li>
{/foreach}
</ul>
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<ul>
    <li>1000</li>
    <li>1001</li>
    <li>1002</li>
</ul>
]]>
  </screen>
 </example>

<example>
  <title>Mendemonstrasikan atribut <parameter>item</parameter> dan <parameter>key</parameter></title>
  <programlisting role="php">
<![CDATA[
<?php
$arr = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding');
$smarty->assign('myArray', $arr);
?>
]]>
  </programlisting>
   <para>Template untuk ditampilkan <parameter>$myArray</parameter> sebagai 
   pasangan kunci/nilai, seperti 
   <ulink url="&url.php-manual;foreach"><varname>foreach</varname></ulink> 
   PHP.</para>
  <programlisting>
<![CDATA[
<ul>
{foreach from=$myArray key=k item=v}
   <li>{$k}: {$v}</li>
{/foreach}
</ul>
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<ul>
    <li>9: Tennis</li>
    <li>3: Swimming</li>
    <li>8: Coding</li>
</ul>
]]>
  </screen>
 </example>


 <example>
  <title>{foreach} dengan asosiatif atribut <parameter>item</parameter></title>
  <programlisting role="php">
<![CDATA[
<?php
$items_list = array(23 => array('no' => 2456, 'label' => 'Salad'),
                    96 => array('no' => 4889, 'label' => 'Cream')
                    );
$smarty->assign('items', $items_list);
?>
]]>
  </programlisting>
   <para>Template untuk ditampilkan <parameter>$items</parameter> dengan
   <parameter>$myId</parameter> dalam url</para>
  <programlisting>
<![CDATA[
<ul>
{foreach from=$items key=myId item=i}
  <li><a href="item.php?id={$myId}">{$i.no}: {$i.label}</li>
{/foreach}
</ul>
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<ul>
  <li><a href="item.php?id=23">2456: Salad</li>
  <li><a href="item.php?id=96">4889: Cream</li>
</ul>
]]>
  </screen>
 </example>

 <example>
  <title>{foreach} dengan pengulangan <parameter>item</parameter> dan <parameter>key</parameter></title>
  <para>Menempatkan array ke Smarty, kunci berisi kunci untuk setiap nilai 
  yang diulang.</para>
  <programlisting role="php">
<![CDATA[
<?php
 $smarty->assign('contacts', array(
                             array('phone' => '1',
                                   'fax' => '2',
                                   'cell' => '3'),
                             array('phone' => '555-4444',
                                   'fax' => '555-3333',
                                   'cell' => '760-1234')
                             ));
?>
]]>
  </programlisting>
  <para>Template yang menampilkan <parameter>$contact</parameter>.</para>
  <programlisting>
<![CDATA[
{foreach name=outer item=contact from=$contacts}
  <hr />
  {foreach key=key item=item from=$contact}
    {$key}: {$item}<br />
  {/foreach}
{/foreach}
]]>
  </programlisting>
  <para>
   Contoh diatas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<hr />
  phone: 1<br />
  fax: 2<br />
  cell: 3<br />
<hr />
  phone: 555-4444<br />
  fax: 555-3333<br />
  cell: 760-1234<br />
]]>
  </screen>
 </example>

 <example>
  <title>Contoh database dengan {foreachelse}</title>
  <para>Contoh database (seperti PEAR atau ADODB) dari naskah pencarian, hasil query 
  ditempatkan ke Smarty</para>
<programlisting role="php">
<![CDATA[
<?php
  $search_condition = "where name like '$foo%' ";
  $sql = 'select contact_id, name, nick from contacts '.$search_condition.' order by name';
  $smarty->assign('results', $db->getAssoc($sql) );
?>
]]>
  </programlisting>
  <para>Template yang menampilkan <quote>None found</quote>
  jika tidak ada hasil dengan <varname>{foreachelse}</varname>.</para>
  <programlisting>
<![CDATA[
{foreach key=cid item=con from=$results}
    <a href="contact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br />
{foreachelse}
    No items were found in the search
{/foreach}
]]>
  </programlisting>
 </example>


 <sect2 id="foreach.property.index">
  <title>.index</title>
  <para>
   <parameter>index</parameter> berisi indeks array saat ini, dimulai dengan nol.
  </para>
  <example>
  <title>contoh <parameter>index</parameter></title>

<programlisting role="php">
<![CDATA[
{* Blok header ditampilkan setiap lima baris *}
<table>
{foreach from=$items key=myId item=i name=foo}
  {if $smarty.foreach.foo.index % 5 == 0}
     <tr><th>Title</th></tr>
  {/if}
  <tr><td>{$i.label}</td></tr>
{/foreach}
</table>
]]>
  </programlisting>
  </example>
  </sect2>

 <sect2 id="foreach.property.iteration">
  <title>.iteration</title>
  <para>
   <parameter>iteration</parameter> berisi iterasi perulangan saat ini dan 
   selalu dimulai dari satu, tidak seperti 
   <link linkend="foreach.property.index"><parameter>indeks</parameter></link>.
   Ia bertambah satu setiap kali iterasi.
  </para>
 <example>
  <title>contoh <parameter>iteration</parameter> dan <parameter>indeks</parameter></title>
<programlisting role="php">
<![CDATA[
{* ini akan menampilkan 0|1, 1|2, 2|3, ... dst *}
{foreach from=$myArray item=i name=foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}
]]>
  </programlisting>
  </example>

 </sect2>

 <sect2 id="foreach.property.first">
  <title>.first</title>
  <para>
   <parameter>first</parameter> adalah &true; jika iterasi <varname>{foreach}</varname>
   saat ini adalah yang awal.
  </para>
  <example>
  <title>contoh properti <parameter>first</parameter></title>
<programlisting role="php">
<![CDATA[
{* tampilkan LATEST pada item pertama, sebaliknya id *}
<table>
{foreach from=$items key=myId item=i name=foo}
<tr>
  <td>{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}</td>
  <td>{$i.label}</td>
</tr>
{/foreach}
</table>
]]>
  </programlisting>
  </example>
 </sect2>

 <sect2 id="foreach.property.last">
  <title>.last</title>
  <para>
   <parameter>last</parameter> disetel &true; jika iterasi
   <varname>{foreach}</varname> saat ini adalah yang terakhir.
  </para>
   <example>
  <title>contoh properti <parameter>last</parameter></title>
<programlisting role="php">
<![CDATA[
{* Tambah garis horisontal di akhir daftar *}
{foreach from=$items key=part_id item=prod name=products}
  <a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if}
{foreachelse}
  ... konten ...
{/foreach}
]]>
  </programlisting>
  </example>
 </sect2>

 <sect2 id="foreach.property.show">
  <title>.show</title>
  <para>
   <parameter>show</parameter> dipakai sebagai parameter untuk <varname>{foreach}</varname>.
   <parameter>show</parameter> adalah nilai boolean. Jika &false;, 
   <varname>{foreach}</varname> tidak akan ditampilkan. Jika terdapat
   <varname>{foreachelse}</varname>, akan ditampilkan secara selang-seling.
  </para>

 </sect2>
 <sect2 id="foreach.property.total">
  <title>.total</title>
  <para>
   <parameter>total</parameter> berisi jumlah iterasi yang akan diulang
   <varname>{foreach}</varname>.
   Ini dapat digunakan di dalam atau setelah <varname>{foreach}</varname>.
  </para>
     <example>
  <title>contoh properti <parameter>total</parameter></title>
<programlisting role="php">
<![CDATA[
{* menampilkan baris yang dikembalikan di akhir *}
{foreach from=$items key=part_id item=prod name=foo}
{$prod.name><hr/>
{if $smarty.foreach.foo.last}
  <div id="total">{$smarty.foreach.foo.total} items</div>
{/if}
{foreachelse}
 ... something else ...
{/foreach}
]]>
  </programlisting>
  </example>

  <para>
   Lihat juga <link linkend="language.function.section"><varname>{section}</varname></link>
   dan  <link linkend="language.variables.smarty.loops"><parameter>$smarty.foreach</parameter></link>.
  </para>
 </sect2>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-if.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-if.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-if.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-include-php.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-include-php.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-include-php.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.include.php">
 <title>{include_php}</title>
  <note>
   <title>Catatan Teknis</title>
   <para>
    <varname>{include_php}</varname> tidak lagi dipakai oleh Smarty, anda bisa
    melakukan fungsionalitas yang sama melalui fungsi template kustom.
    Satu-satunya alasan untuk menggunakan <varname>{include_php}</varname> 
    adalah jika anda benar-benar perlu untuk mengkarantina fungsi php jauh
    dari direktori
    <link linkend="variable.plugins.dir"><filename>plugins/</filename></link>
    atau kode aplikasi anda. Lihat <link
    linkend="tips.componentized.templates">contoh mengkomponenkan template
    </link> agar lebih jelas.
   </para>
 </note>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Nama Atribut</entry>
     <entry>Tipe</entry>
     <entry>Diperlukan</entry>
     <entry>Default</entry>
     <entry>Deskripsi</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>file</entry>
     <entry>string</entry>
     <entry>Ya</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama file php untuk disertakan</entry>
    </row>
    <row>
     <entry>once</entry>
     <entry>boolean</entry>
     <entry>Tidak</entry>
     <entry><emphasis>&true;</emphasis></entry>
     <entry>Apakah file php perlu disertakan lebih dari sekali atau tidak 
      jika disertakan berkali-kali</entry>
    </row>
    <row>
     <entry>assign</entry>
     <entry>string</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama variabel yang outputnya akan ditempati oleh include_php</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>

 <para>
  Tag <varname>{include_php}</varname> dipakai untuk menyertakan naskah php 
  dalam template anda.
  Jika <link linkend="variable.security"><parameter>$security</parameter></link> dihidupkan,
  maka naskah php harus ditempatkan dalam path <link
  linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>.
  Tag <varname>{include_php}</varname> harus mempunyai atribut 
  <parameter>file</parameter>, yang berisi path ke file php yang disertakan, baik
  relatif ke <link linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>,
  ataupun path absolut.
 </para>
 <para>
  Standarnya, file php hanya disertakan sekali meskipun dipanggil
  berkali-kali dalam template. Anda dapat menetapkan bahwa ia harus
  disertakan setiap kali dengan atribut <parameter>once</parameter>.
  Setelan once ke &false; akan menyertakan naskah php setiap kali ia
  disertakan dalam template.
 </para>
 <para>
  Secara opsional anda bisa mengirimkan atribut <parameter>assign</parameter>,
  yang akan menetapkan nama variabel yang outputnya akan 
  <varname>{include_php}</varname> tempati daripada ditampilkan.
 </para>
 <para>
  Obyek smarty tersedia sebagai <parameter>$this</parameter> di dalam
  naskah PHP yang anda sertakan.
 </para>
 <example>
  <title>fungsi {include_php}</title>
  <para>File <filename>load_nav.php</filename>:</para>
  <programlisting role="php">
<![CDATA[
<?php

// ambil variabel dari mysql db dan tempatkan ke template
require_once('database.class.php');
$db = new Db();
$db->query('select url, name from navigation order by name');
$this->assign('navigation', $db->getRows());

?>
]]>
  </programlisting>
  <para>
   di mana template adalah:
  </para>
  <programlisting>
<![CDATA[
{* path absolut, atau relatif ke $trusted_dir *}
{include_php file='/path/to/load_nav.php'}

{foreach item='nav' from=$navigation}
  <a href="{$nav.url}">{$nav.name}</a><br />
{/foreach}
]]>
  </programlisting>
 </example>
 <para>
  Lihat juga <link linkend="language.function.include"><varname>{include}</varname></link>,
  <link linkend="variable.security"><parameter>$security</parameter></link>,
<link linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>,
  <link linkend="language.function.php"><varname>{php}</varname></link>, <link
  linkend="language.function.capture"><varname>{capture}</varname></link>, <link
  linkend="template.resources">sumber daya</link> dan <link
  linkend="tips.componentized.templates">mengkomponenkan template</link> </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-include.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-include.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-include.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.include">
 <title>{include}</title>
 <para>
  Tag <varname>{include}</varname> dipakai untuk menyertakan template lain 
  dalam template saat ini. Setiap variabel yang tersedia dalam template
  saat ini juga tersedia di dalam template yang disertakan.
  </para>

  <itemizedlist>
  <listitem><para>
  Tag <varname>{include}</varname> harus mempunyai atribut
  <parameter>file</parameter> yang berisi path sumber daya template.
  </para></listitem>

 <listitem><para>
  Menyetel atribut opsional <parameter>assign</parameter> menetapkan variabel
  template yang menempatkan <varname>{include}</varname> ke output, daripada
  ditampilkan. Mirip dengan
  <link linkend="language.function.assign"><varname>{assign}</varname></link>.
 </para></listitem>

 <listitem><para>
  Variabel bisa dikirimkan ke template yang disertakan sebagai
  <link linkend="language.syntax.attributes">atribut</link>.
  Setiap variabel yang dikirimkan secara eksplisit ke template
  yang disertakan hanya tersedia di dalam lingkup file yang
  disertakan. Variabel atribut menimpa variabel template saat
  ini, dalam hal ketika bernama sama.
 </para></listitem>

  <listitem><para>
  Semua nilai variabel yang ditempatkan dikembalikan setelah lingkup
  template yang disertakan tidak ada. Ini berarti anda dapat menggunakan
  semua variabel termasuk template di dalam template yang disertakan.
  Tapi perubahan variabel di dalam template yang disertakan tidak terlihat
  di dalam template yang menyertakan setelah pernyataan 
  <varname>{include}</varname>.
  </para></listitem>

  <listitem><para>
  Gunakan sintaks <link linkend="template.resources">sumber daya template</link>
  untuk <varname>{include}</varname> file di luar direktori
  <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>.
  </para></listitem>
 </itemizedlist>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Nama Atribut</entry>
     <entry>Tipe</entry>
     <entry>Diperlukan</entry>
     <entry>Default</entry>
     <entry>Deskripsi</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>file</entry>
     <entry>string</entry>
     <entry>Ya</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama file template yang disertakan</entry>
    </row>
    <row>
     <entry>assign</entry>
     <entry>string</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama variabel yang outputnya akan ditempati</entry>
    </row>
    <row>
     <entry>[var ...]</entry>
     <entry>[var type]</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>variabel untuk mengirimkan lokal ke template</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>

 <example>
  <title>Contoh {include} sederhana</title>
  <programlisting>
<![CDATA[
<html>
<head>
  <title>{$title}</title>
</head>
<body>
{include file='page_header.tpl'}

{* badan template di sini, variabel $tpl_name diganti dengan
   nilai misalnya 'contact.tpl'
*}
{include file="$tpl_name.tpl"}

{include file='page_footer.tpl'}
</body>
</html>
]]>
  </programlisting>
 </example>

 <example>
  <title>variabel pengiriman {include}</title>
  <programlisting>
<![CDATA[
{include file='links.tpl' title='Newest links' links=$link_array}
{* badan template di sini *}
{include file='footer.tpl' foo='bar'}
]]>
  </programlisting>
  <para>Template di atas menyertakan contoh <filename>links.tpl</filename> 
  di bawah ini.</para>
<programlisting>
<![CDATA[
<div id="box">
<h3>{$title}{/h3>
<ul>
{foreach from=$links item=l}... do stuff  ...
</foreach}
</ul>
</div>
]]>
</programlisting>
 </example>


  <example>
   <title>{include} and assign to variable</title>
   <para>This example assigns the contents of <filename>nav.tpl</filename>
    to the <varname>$navbar</varname> variable,
   which is then output at both the top and bottom of the page.
   </para>
   <programlisting>
 <![CDATA[
<body>
  {include file='nav.tpl' assign=navbar}
  {include file='header.tpl' title='Smarty is cool'}
    {$navbar}
    {* badan template di sini *}
    {$navbar}
  {include file='footer.tpl'}
</body>
]]>
   </programlisting>
 </example>

 <example>
  <title>Contoh berbagai sumber daya {include}</title>
  <programlisting>
<![CDATA[
{* path file absolut *}
{include file='/usr/local/include/templates/header.tpl'}

{* path file absolut (hal yang sama) *}
{include file='file:/usr/local/include/templates/header.tpl'}

{* path file windows absolut (HARUS menggunakan prefiks "file:") *}
{include file='file:C:/www/pub/templates/header.tpl'}

{* sertakan dari sumber daya template bernama "db" *}
{include file='db:header.tpl'}

{* sertakan $variable template - misal $module = 'contacts' *}
{include file="$module.tpl"}

{* tidak akan bekerja karena tanda kutip tunggal, tidak ada penggantian variabel *}
{include file='$module.tpl'}

{* sertakan template multi $variabel - misal amber/links.view.tpl *}
{include file="$style_dir/$module.$view.tpl"}
]]>
  </programlisting>
 </example>
 <para>
  Lihat juga
  <link linkend="language.function.include.php"><varname>{include_php}</varname></link>,
  <link linkend="language.function.insert"><varname>{insert}</varname></link>,
  <link linkend="language.function.php"><varname>{php}</varname></link>,
  <link linkend="template.resources">sumber daya template</link> dan
  <link linkend="tips.componentized.templates">mengkomponenkan template</link>.
 </para>
</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
-->


http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-insert.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-insert.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-insert.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.insert">
 <title>{insert}</title>
  <para>
   Tag <varname>{insert}</varname> bekerja sangat mirip dengan tag <link
   linkend="language.function.include"><varname>{include}</varname></link>,
   kecuali bahwa tag <varname>{insert}</varname> TIDAK di-cache ketika
   <link linkend="caching">caching</link> template dihidupkan. Ia akan 
   dijalankan pada setiap permintaan template.
 </para>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Nama Atribut</entry>
     <entry>Tipe</entry>
     <entry>Diperlukan</entry>
     <entry>Default</entry>
     <entry>Deskripsi</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>name</entry>
     <entry>string</entry>
     <entry>Ya</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama fungsi insert (insert_name)</entry>
    </row>
    <row>
     <entry>assign</entry>
     <entry>string</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama variabel template yang outputnya akan ditempati</entry>
    </row>
    <row>
     <entry>script</entry>
     <entry>string</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama naskah php yang disertakan sebelum fungsi insert dipanggil</entry>
    </row>
    <row>
     <entry>[var ...]</entry>
     <entry>[var type]</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>variabel untuk mengirimkan fungsi insert</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>


 <para>
  Katakanlah anda mempunyai template dengan slot spanduk di atas halaman.
  Spanduk bisa berisi campuran HTML, gambar, flash, dll. maka kita tidak bisas
  cukup menggunakan link statis di sini, dan kita tidak ingin konten ini
  di-cache dengan halaman. Sampailah tag {insert}: template mengetahui 
  #banner_location_id# dan nilai #site_id# (dikumpulkan dari 
  <link linkend="config.files">file config</link>), dan perlu untuk
  memanggil fungsi guna memperoleh konten spanduk.
 </para>
 <example>
  <title>fungsi {insert}</title>
<programlisting>
{* contoh mengambil spanduk *}
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}
</programlisting>
 </example>
 <para>
  Pada contoh ini, kita menggunakan nama <quote>getBanner</quote> dan
  mengirimkan parameter #banner_location_id# dan #site_id#. Smarty akan
  mencari fungsi bernama insert_getBanner() dalam aplikasi PHP anda, 
  mengirimkan nilai #banner_location_id# dan #site_id# sebagai argumen
  pertama dalam array asosiatif. Semua nama fungsi {insert} dalam aplikasi
  anda harus didahului dengan "insert_" guna menghindari kemungkinan
  konflik ruang-nama fungsi. Fungsi insert_getBanner() anda harus melakukan
  sesuatu dengan nilai yang dikirimkan dan mengembalikan hasil. Hasil ini
  kemudian ditampilkan dalam template di tempat tag {insert}. Dalam contoh
  ini, Smarty akan memanggil fungsi ini:
  insert_getBanner(array("lid" => "12345","sid" => "67890"));
   dan menampilkan hasil yang dikembalikan di tempat tag {insert}.
  </para>
  <itemizedlist>
  <listitem><para>
   Jika anda menyertakan atribut <parameter>assign</parameter>, output
   dari tag <varname>{insert}</varname> akan ditampati variabel template
   ini daripa menjadi output bagi template.
   <note>
   <para>
    Menempatkan output ke variabel template tidak terlalu berguna jika
   <link linkend="variable.caching">caching</link> dihidupkan.
   </para>
  </note>
  </para></listitem>

  <listitem><para>
   Jika anda menyertakan atribut <parameter>script</parameter>, naskah php ini
   akan disertakan (hanya sekali) sebelum funsi <varname>{insert}</varname> 
   dijalankan. Ini kasus di mana fungsi insert mungkin belum ada, dan naskah php
   harus disertakan lebih dulu agar ia bekerja.
   </para>
   <para>
   Path dapat berupa absolut, atau relatif ke
   <link linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>. 
   Ketika <link linkend="variable.security"><parameter>$security</parameter></link> 
   dihidupkan, naskah harus berada dalam
   <link linkend="variable.trusted.dir"><parameter>$trusted_dir</parameter></link>.
  </para></listitem>
  </itemizedlist>
  <para>
   Obyek Smarty dikriimkan sebagai argumen kedua. Dengan cara ini anda dapat
   mereferensi dan mengubah informasi dalam obyek Smarty dari dalam fungsi
    <varname>{insert}</varname>.
  </para>
  <note>
   <title>Catatan Teknis</title>
   <para>
    Dimungkinkan bagian template tidal di-cache. Jika anda menghidupkan 
    <link linkend="caching">caching</link>, tag <varname>{insert}</varname> 
    tidak akan di-cache. Ia akan dijalankan secara dinamis setiap kali
    halaman dibuat, bahkan di dalam halaman yang di-cache. Ini bekerja baik
    untuk hal-hal seperti spanduk, polling, laporan cuaca, hasil pencarian,
    area umpan balik pengguna, dll.
   </para>
  </note>
   <para>
    Lihat juga
  <link linkend="language.function.include"><varname>{include}</varname></link>
  </para>
 </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
-->
http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-ldelim.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-ldelim.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-ldelim.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
 <sect1 id="language.function.ldelim">
  <title>{ldelim},{rdelim}</title>
  <para>
   <varname>{ldelim}</varname> dan <varname>{rdelim}</varname> dipakai untuk
   <link linkend="language.escaping">melepaskan</link> pembatas template,
   standarnya <emphasis role="bold">{</emphasis> dan <emphasis role="bold">}</emphasis>.
   Anda juga bisa memakai 
   <link linkend="language.function.literal"><varname>{literal}{/literal}</varname></link>
   untuk membatasi blok teks misalnya Javascript atau CSS.
    Lihat juga <link
    linkend="language.variables.smarty.ldelim"><parameter>{$smarty.ldelim}</parameter></link>
    tambahan.
  </para>
  <example>
   <title>{ldelim}, {rdelim}</title>
   <programlisting>
<![CDATA[
{* ini akan mencetak pembatas literal keluar dari template *}

{ldelim}funcname{rdelim} adalah bagaimana fungsi terlihat dalam Smarty!
]]>
   </programlisting>
   <para>
    Contoh di atas akan menghasilkan:
   </para>
   <screen>
<![CDATA[
{funcname} adalah bagaimana fungsi terlihat dalam Smarty!
]]>
   </screen>
   <para>Contoh lain dengan beberapa Javascript</para>
   <programlisting>
<![CDATA[
<script language="JavaScript">
function foo() {ldelim}
    ... kode ...
{rdelim}
</script>
]]>
   </programlisting>
   <para>
   akan menghasilkan
   </para>
   <screen>
<![CDATA[
<script language="JavaScript">
function foo() {
    .... kode ...
}
</script>
]]>
   </screen>

  </example>

  <example>
     <title>Contoh Javascript lain</title>
<programlisting>
<![CDATA[
<script language="JavaScript" type="text/javascript">
    function myJsFunction(){ldelim}
        alert("The server name\n{$smarty.server.SERVER_NAME}\n{$smarty.server.SERVER_ADDR}");
    {rdelim}
</script>
<a href="javascript:myJsFunction()">Click here for Server Info</a>
]]>
</programlisting>
 </example>

  <para>Lihat juga
  <link linkend="language.function.literal"><varname>{literal}</varname></link>
  dan <link linkend="language.escaping">escaping penguraian Smarty</link>.
  </para>
 </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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-literal.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-literal.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-literal.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.literal">
 <title>{literal}</title>
 <para>
  Tag <varname>{literal}</varname> membolehkan blok data diambil secara literal. 
  Ini biasanya dipakai sekitar blok Javascript atau stylesheet di mana 
  {kurung kurawal} akan berpengaruh dengan sintaks
  <link linkend="variable.left.delimiter">pembatas</link> template. Apapun di
  dalam tag <varname>{literal}{/literal}</varname> tidak diinterpretasikan, but displayed as-is.
  If you  need template tags embedded in a <varname>{literal}</varname> block, consider using
  <link linkend="language.function.ldelim"><varname>{ldelim}{rdelim}</varname></link> to escape the
  individual delimiters instead.
 </para>

 <example>
  <title>{literal} tags</title>
  <programlisting>
<![CDATA[
{literal}
<script type="text/javascript">
<!--
  function isblank(field) {
    if (field.value == '')
      { return false; }
    else
      {
      document.loginform.submit();
      return true;
    }
  }
// -->
</script>
{/literal}
]]>
  </programlisting>
 </example>

 <example>
   <title>Javascript function example</title>
   <programlisting>
<![CDATA[
<script language="JavaScript" type="text/javascript">
{literal}
function myJsFunction(name, ip){
   alert("The server name\n" + name + "\n" + ip);
}
{/literal}
</script>
<a href="javascript:myJsFunction('{$smarty.server.SERVER_NAME}','{$smarty.server.SERVER_ADDR}')">Click here for the Server Info</a>
 ]]>
   </programlisting>
 </example>

 <example>
  <title>Some css style in a template</title>
  <programlisting>
<![CDATA[
{* included this style .. as an experiment *}
<style type="text/css">
{literal}
/* this is an intersting idea for this section */..madIdea{
    border: 3px outset #ffffff;
    margin: 2 3 4 5px;
    background-color: #001122;
}
{/literal}
</style>
<div class="madIdea">With smarty you can embed CSS in the template</div>
]]>
</programlisting>
</example>

 <para>
  See also
  <link linkend="language.function.ldelim"><varname>{ldelim} {rdelim}</varname></link>
  and the
  <link linkend="language.escaping">escaping Smarty parsing</link> page.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-php.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-php.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-php.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.php">
 <title>{php}</title>
 <para>
  Tag <varname>{php}</varname> membolehkan kode PHP untuk disertakan secara
  langsung ke dalam template. Ia tidak akan diberi escape, mengabaikan setelan <link
  linkend="variable.php.handling"><parameter>$php_handling</parameter></link>. 
  Ini hanya untuk pengguna tingkat lanjut, normalnya tidak perlukan dan
  tidak direkomendasikan.
 </para>
 <note>
<title>Catatan Teknis</title>
<para>
   Untuk mengakses variabel PHP dalam blok <varname>{php}</varname> anda perlu
   menggunakan kata kunci
   <ulink url="&url.php-manual;global"><literal>global</literal></ulink>.
</para>
</note>

 <example>
  <title>kode php dalam tag {php}</title>
  <programlisting>
<![CDATA[
{php}
   // menyertakan naskah php secara langsung dari template.
   include('/path/to/display_weather.php');
{/php}
]]>
  </programlisting>
 </example>


 <example>
  <title>tag {php} dengan variabel global dan penempatan</title>
  <programlisting role="php">
<![CDATA[
{* template ini menyertakan blok {php} yang menempatkan variabel $varX *}
{php}
   global $foo, $bar;
   if($foo == $bar){
     echo 'This will be sent to browser';
   }
  // tempatkan variabel ke Smarty
  $this->assign('varX','Toffee');
{/php}
{* keluarkan variabel *}
<strong>{$varX}</strong> is my fav ice cream :-)
]]>
  </programlisting>
</example>

 <para>
  Lihat juga
  <link linkend="variable.php.handling"><parameter>$php_handling</parameter></link>,
  <link linkend="language.function.include.php"><varname>{include_php}</varname></link>,
  <link linkend="language.function.include"><varname>{include}</varname></link>,
  <link linkend="language.function.insert"><varname>{insert}</varname></link>
  dan
  <link linkend="tips.componentized.templates">template yang dikomponenkan</link>.
 </para>
</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
-->

http://cvs.php.net/viewvc.cgi/smarty/docs/id/designers/language-builtin-functions/language-function-section.xml?view=markup&rev=1.1
Index: smarty/docs/id/designers/language-builtin-functions/language-function-section.xml
+++ smarty/docs/id/designers/language-builtin-functions/language-function-section.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<sect1 id="language.function.section">
 <title>{section},{sectionelse}</title>
  <para>
  <varname>{section}</varname>
  adalah untuk mengulang melalui <emphasis role="bold">array data</emphasis>,
  tidak seperti <link linkend="language.function.foreach"><varname>{foreach}</varname></link>
  yang dipakai untuk mengulang melalui
   <emphasis role="bold">satu array asosiatif</emphasis>.
  Setiap <varname>{section}</varname> tag harus dipasangkan dengan 
  penutup<varname>{/section}</varname> tag.
   </para>

 <informaltable frame="all">
  <tgroup cols="5">
   <colspec colname="param" align="center" />
   <colspec colname="type" align="center" />
   <colspec colname="required" align="center" />
   <colspec colname="default" align="center" />
   <colspec colname="desc" />
   <thead>
    <row>
     <entry>Nama Atribut</entry>
     <entry>Tipe</entry>
     <entry>Diperlukan</entry>
     <entry>Default</entry>
     <entry>Deskripsi</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry>name</entry>
     <entry>string</entry>
     <entry>Ya</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nama seksi</entry>
    </row>
    <row>
     <entry>loop</entry>
     <entry>mixed</entry>
     <entry>Ya</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Nilai untuk menentukan sumber iterasi pengulangan</entry>
    </row>
    <row>
     <entry>start</entry>
     <entry>integer</entry>
     <entry>Tidak</entry>
     <entry><emphasis>0</emphasis></entry> <entry>Posisi indeks
      di mana seksi akan diulang. Jika nilai negatif, awal
      posisi dihitung dari akhir array. Sebagai contoh,
      jika ada tujuh nilai dalam pengulangan array dan awalnya
      adalah -2, indeks awal adalah 5. Nilai yang tidak benar
      (nilai di luar panjang pengulangan array) otomatis 
      dipotong ke nilai terdekat yang benar.</entry>
    </row>
    <row>
     <entry>step</entry>
     <entry>integer</entry>
     <entry>Tidak</entry>
     <entry><emphasis>1</emphasis></entry>
     <entry>Nilai step akan dipakai untuk melewati pengulangan array. 
      Sebagai contoh, step=2 akan berulang pada indeks 0,2,4, dst. 
      Jika step negatif, ia akan mundur kembali melewati array.</entry>
    </row>
    <row>
     <entry>max</entry>
     <entry>integer</entry>
     <entry>Tidak</entry>
     <entry><emphasis>n/a</emphasis></entry>
     <entry>Menyetel angka maksimum berapa kali seksi akan mengulang.</entry>
    </row>
    <row>
     <entry>show</entry>
     <entry>boolean</entry>
     <entry>Tidak</entry>
     <entry><emphasis>&true;</emphasis></entry>
     <entry>Menentukan apakan menampilkan seksi ini atau tidak</entry>
    </row>
   </tbody>
  </tgroup>
 </informaltable>

 <itemizedlist>
   <listitem><para>
   Atribut yang diperlukan adalah <parameter>name</parameter> dan <parameter>loop</parameter>.
   </para></listitem>

   <listitem><para>
    <parameter>name</parameter> dari <varname>{section}</varname> bisa berupa
    apapun yang anda suka, terdiri dari huruf, angka dan garis bawah, seperti
    <ulink url="&url.php-manual;language.variables">variabel PHP</ulink>.
    </para></listitem>

    <listitem><para>
    {section} dapat diulang, dan nama <varname>{section}</varname> yang diulang
    harus unik dari yang lainnya.
   </para></listitem>

   <listitem><para>
   Atribut <parameter>loop</parameter>, biasanya sebuah array nilai, menentukan
   jumlah berapa kali <varname>{section}</varname> akan mengulang. Anda juga
   dapat mengirimkan integer sebagai nilai pengulangan.
   </para></listitem>

   <listitem><para>Ketika mencetak variabel di dalam <varname>{section}</varname>, 
   <varname>{section}</varname> <parameter>name</parameter> harus diberikan di
   sebelah nama variabel dalam [kurung kotak].
   </para></listitem>

   <listitem><para>
   <varname>{sectionelse}</varname> dijalankan saat tidak ada lagi nilai
   dalam variabel loop.
 	</para></listitem>

  <listitem><para>
  <varname>{section}</varname> juga memiliki variabelnya sendiri yang 
  menangani properti <varname>{section}</varname>.
  Properti ini dapat diakses sebagai: <link linkend="language.variables.smarty.loops">
  <parameter>{$smarty.section.name.property}</parameter></link>
  di mana <quote>name</quote> adalah atribut <parameter>name</parameter>.
  </para></listitem>

  <listitem><para>
  properti <varname>{section}</varname> adalah
  <link linkend="section.property.index"><parameter>index</parameter></link>,
  <link linkend="section.property.index.prev"><parameter>index_prev</parameter></link>,
  <link linkend="section.property.index.next"><parameter>index_next</parameter></link>,
  <link linkend="section.property.iteration"><parameter>iteration</parameter></link>,
  <link linkend="section.property.first"><parameter>first</parameter></link>,
  <link linkend="section.property.last"><parameter>last</parameter></link>,
  <link linkend="section.property.rownum"><parameter>rownum</parameter></link>,
  <link linkend="section.property.loop"><parameter>loop</parameter></link>,
  <link linkend="section.property.show"><parameter>show</parameter></link>,
  <link linkend="section.property.total"><parameter>total</parameter></link>.
  </para></listitem>
</itemizedlist>

 <example>
  <title>Mengulang array sederhana dengan {section}</title>
<para>
<link linkend="api.assign"><varname>assign()</varname></link> array ke Smarty
</para>
<programlisting role="php">
<![CDATA[
<?php
$data = array(1000,1001,1002);
$smarty->assign('custid',$data);
?>
]]>
</programlisting>
<para>Template yang menampilkan array</para>
  <programlisting>
<![CDATA[
{* contoh ini akan mengeluarkan semua nilai dari array $custid *}
{section name=customer loop=$custid}
  id: {$custid[customer]}<br />
{/section}
<hr />
{* mengeluarkan semua nilai array $custid secara terbalik *}
{section name=foo loop=$custid step=-1}
  {$custid[foo]}<br />
{/section}
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
id: 1000<br />
id: 1001<br />
id: 1002<br />
<hr />
id: 1002<br />
id: 1001<br />
id: 1000<br />
]]>
  </screen>
  </example>


   <example>
  <title>{section} tanpa array yang ditempati</title>
<programlisting>
<![CDATA[
{section name=foo start=10 loop=20 step=2}
  {$smarty.section.foo.index}
{/section}
<hr />
{section name=bar loop=21 max=6 step=-2}
  {$smarty.section.bar.index}
{/section}
]]>
</programlisting>
<para>
  Contoh di atas akan menampilkan:
</para>
<screen>
  <![CDATA[
10 12 14 16 18
<hr />
20 18 16 14 12 10
]]>
  </screen>
 </example>


<example>
  <title>Penamaan {section}</title>
  <para><parameter>name</parameter> dari <varname>{section}</varname> bisa apa
  saja sesuai yang anda inginkan, lihat 
  <ulink url="&url.php-manual;language.variables">variabel PHP</ulink>.
  Ini dipakai untuk mereferensi data di dalam <varname>{section}</varname>.</para>
  <programlisting>
<![CDATA[
{section name=anything loop=$myArray}
  {$myArray[anything].foo}
  {$name[anything]}
  {$address[anything].bar}
{/section}
]]>
  </programlisting>
 </example>


 <example>
  <title>Pengulangan array asosiatif dengan {section}</title>
  <para>Ini adalah contoh pencetakan array data asosiatif dengan
   <varname>{section}</varname>. Berikut adalah naskah php untuk menempatkan 
   array <parameter>$contacts</parameter> ke Smarty.</para>
  <programlisting role="php">
  <![CDATA[
<?php
$data = array(
          array('name' => 'John Smith', 'home' => '555-555-5555',
                'cell' => '666-555-5555', 'email' => 'john@myexample.com'),
          array('name' => 'Jack Jones', 'home' => '777-555-5555',
                'cell' => '888-555-5555', 'email' => 'jack@myexample.com'),
          array('name' => 'Jane Munson', 'home' => '000-555-5555',
                'cell' => '123456', 'email' => 'jane@myexample.com')
        );
$smarty->assign('contacts',$data);
?>
]]>
  </programlisting>

<para>Template untuk menampilkan <parameter>$contacts</parameter></para>
  <programlisting>
<![CDATA[
{section name=customer loop=$contacts}
<p>
  name: {$contacts[customer].name}<br />
  home: {$contacts[customer].home}<br />
  cell: {$contacts[customer].cell}<br />
  e-mail: {$contacts[customer].email}
</p>
{/section}
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<p>
  name: John Smith<br />
  home: 555-555-5555<br />
  cell: 666-555-5555<br />
  e-mail: john@myexample.com
</p>
<p>
  name: Jack Jones<br />
  home phone: 777-555-5555<br />
  cell phone: 888-555-5555<br />
  e-mail: jack@myexample.com
</p>
<p>
  name: Jane Munson<br />
  home phone: 000-555-5555<br />
  cell phone: 123456<br />
  e-mail: jane@myexample.com
</p>
]]>
  </screen>
</example>

 <example>
  <title>{section} mendemonstrasikan variabel <varname>loop</varname></title>
  <para>Contoh ini mengasumsikan bahwa <parameter>$custid</parameter>, <parameter>$name</parameter>
  dan <parameter>$address</parameter> adalah semua array yang berisi jumlah 
  nilai yang sama. Pertama naskah php menempatkan array ke Smarty.</para>
<programlisting role="php">
<![CDATA[
<?php

$id = array(1001,1002,1003);
$smarty->assign('custid',$id);

$fullnames = array('John Smith','Jack Jones','Jane Munson');
$smarty->assign('name',$fullnames);

$addr = array('253 Abbey road', '417 Mulberry ln', '5605 apple st');
$smarty->assign('address',$addr);

?>
]]>
</programlisting>
<para>Variabel <parameter>loop</parameter> hanya menentukan jumlah berapa kali
  untuk mengulang. Anda dapat mengakses variabel MANAPUN dari template di dalam
  <varname>{section}</varname></para>
  <programlisting>
<![CDATA[
{section name=customer loop=$custid}
<p>
  id: {$custid[customer]}<br />
  name: {$name[customer]}<br />
  address: {$address[customer]}
</p>
{/section}
]]>
  </programlisting>
  <para>
   Contoh di atas akan menampilkan:
  </para>
  <screen>
<![CDATA[
<p>
  id: 1000<br />
  name: John Smith<br />
  address: 253 Abbey road
</p>
<p>
  id: 1001<br />
  name: Jack Jones<br />
  address: 417 Mulberry ln
</p>
<p>
  id: 1002<br />
  name: Jane Munson<br />
  address: 5605 apple st
</p>
]]>
  </screen>
 </example>



 <example>
  <title>{section} yang berulang</title>
  <para>
  {section} dapat diulang sedalam yang anda suka. Dengan {section} yang 
  diulang, anda bisa mengakses struktur data yang kompleks, seperti array
  multi dim