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