Fungsi Blokvoid smarty_block_namearray $paramsmixed $contentobject &$smartyboolean &$repeat
Fungsi blok adalah fungsi dari bentuk:
{func} .. {/func}. Dengan kata lain, ia ditutupi
blok template dan beroperasi pada isi dari blok ini. Fungsi blok
mendahului
fungsi kustom pada
nama yang sama, yaitu anda tidak bisa mempunyai kedua fungsi kustom
{func} dan fungsi blok
{func}..{/func}.
Standarnya implementasi fungsi anda dipanggil dua kali oleh
Smarty: sekali untuk membuka tag, dan sekali untuk meneutup tag.
(Lihat $repeat di bawah untuk bagaimana mengubah ini.)
Hanya tag terbuka terhadap fungsi blok boleh memiliki
atribut. Semua
atribut dikirimkan ke fungsi template dari template diisikan dalam
variabel $params sebagai array asosiatif.
Atribut tag terbuka juga dapat diakses oleh fungsi anda saat memproses
tag penutup.
Nilai variabel $content tergantung pada apakah
fungsi anda dipanggil untuk membuka atau menutup tag. Dalam hal
membuka tag, ia akan menjadi &null;, dan dalam hal menutup tag
ia akan menjadi isi dari blok template.
Catatan bahwa blok template sudah diproses oleh Smarty, semua yang
akan anda terima adalah output template, bukan sumber template.
Parameter $repeat dikirimkan dengan
referensi ke implementasi fungsi dan menyediakan sebuah kemungkinan
untuk mengontrol berapa kali blok ditampilkan. Standarnya
$repeat adalah &true; pada panggilan pertama
fungsi-blok(tag pembuka) dan and &false; pada panggilan berikutnya
ke fungsi blok (tag penutup blok).
Setiap kali implementasi fungsi kembali dengan
$repeat menjadi &true;, isi antara
{func}...{/func} dievaluasi dan implementasi fungsi
dipanggil lagi dengan isi blok baru dalam parameter
$content.
Jika anda mempunyai fungsi blok berulang, dimungkinkan untuk mencari fungsi
blok leluhur apa dengan mengakses variabel
$smarty->_tag_stack. Cukup lakukan
var_dump()
padanya dan struktur menjadi terlihat.
fungsi blok
]]>
Lihat juga:
register_block(),
unregister_block().