Fungsi Template
void smarty_function_name (array $params, object &$smarty)
Semua atribut yang
dikirimkan ke fungsi template dari template yang berisi
$params sebagai array asosiatif.
Output (nilai hasil) atas fungsi akan diganti di tempat tag fungsi dalam
template, misalnya fungsi
{fetch}.
Alternatif lain, fungsi bisa hanya melakukan beberapa tugas tanpa output
apapun, misalnya fugnsi
{assign}.
Jika fungsi perlu menempatkan beberapa variabel ke template atau gunakan
beberapa fungsionalitas lain yang disediakan-Smarty, ini dapat menggunakan
obyek $smarty yang disertakan untuk melakukannya
misaslnya $smarty->foo().
Teladan 16-1. plugin fungsi dengan output
<?php /* * Smarty plugin * ------------------------------------------------------------- * File: function.eightball.php * Tipe: fungsi * Nama: eightball * Kegunaan: menampilkan jawaban acak magis * ------------------------------------------------------------- */ function smarty_function_eightball($params, &$smarty) { $answers = array('Yes', 'No', 'No way', 'Outlook not so good', 'Ask again soon', 'Maybe in your reality');
$result = array_rand($answers); return $answers[$result]; } ?>
|
|
yang dapat digunakan dalam template sebagai:
Question: Will we ever have time travel?
Answer: {eightball}. |
Teladan 16-2. plugin fungsi tanpa output
<?php /* * Smarty plugin * ------------------------------------------------------------- * File: function.assign.php * Tipe: fungsi * Nama: assign * Kegunaan: menempatkan nilai ke varabel template * ------------------------------------------------------------- */ function smarty_function_assign($params, &$smarty) { if (empty($params['var'])) { $smarty->trigger_error("assign: missing 'var' parameter"); return; }
if (!in_array('value', array_keys($params))) { $smarty->trigger_error("assign: missing 'value' parameter"); return; }
$smarty->assign($params['var'], $params['value']); } ?>
|
|
Lihat juga:
register_function(),
unregister_function().