smarty template engine
Tuesday, October 07, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Bab 7. Fungsi Built-in

Smarty disertai dengan beberapa fungsi built-in. Fungsi built-in ini adalah bagian integral dari mesin template Smarty. Anda tidak bisa membuat fungsi kustom anda sendiri dengan nama yang sama; dan anda tidak perlu mengubah fungsi built-in.

Beberapa fungsi ini mempunyai atribut penempatan yang mengumpulkan hasil fungsi ke variabel tempat yang dinamai daripada ditampilkan; lebih mirip dengan fungsi {assign}.

{capture}

{capture} dipakai untuk mengumpulkan output template antara tag ke dalam variable daripada menampilkannya. Setiap konten antara {capture name='foo'} dan {/capture} yang dikumpulkan ke dalam variabel ditetapkan dalam atribut name.

Konten yang ditangkap dapat digunakan dalam template dari variabel $smarty.capture.foo di mana "foo" adalah nilai yang dikirimkan dalam atribut name. Jika anda tidak menyertakan atribut name, maka "default" akan dipakai sebagai nama misalnya $smarty.capture.default.

{capture}'s dapat diulang-ulang.

Attribute NameTypeRequiredDefaultDescription
namestringnodefaultThe name of the captured block
assignstringNon/aThe variable name where to assign the captured output to

Perhatian: Harap berhati-hati ketika menangkap output {insert}. Jika anda menghidupkan $caching dan anda mempunyai perintah {insert} yang anda harapkan untuk dijalankan di dalam konten yang di-cache, jangan menangkap konten ini.

Teladan 7-1. {capture} dengan atribut nama

{* 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}

Teladan 7-2. {capture} ke dalam variabel template

Contoh ini juga memperlihatkan fungsi {popup}

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

Lihat juga $smarty.capture, {eval}, {fetch}, fetch() dan {assign}.




 

credits 

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

All rights reserved.