fetch()
fetch() -- mengembalikan output template
Deskripsi
string
fetch ( string template [, string cache_id [, string $compile_id]])
Ini mengembalikan output template daripada
menampilkan ouput.
Sertakan tipe dan path sumber daya template
yang benar. Sebagai parameter opsional ketiga, anda dapat mengirimkan
$cache id, lihat seksi caching
untuk informasi lebih jauh.
Sebagai parameter opsional ketiga, anda dapat mengoper
$compile_id.
Ini dalam keadaan di mana anda ingin mengompilasi versi berbeda terhadap
template yang sama, seperti memiliki template terpisa dikompilasi untuk
bahasa yang berbeda. Penggunaan lainnya untuk
$compile_id ialah saat anda menggunakan lebih dari
satu
$template_dir
tapi hanya satu
$compile_dir.
Set $compile_id secara terpisah untuk setiap
$template_dir,
atau sebaliknya template dengan nama sama akan saling menimpa. Anda juga
bisa menyetel variabel
$compile_id sekali daripada mengoperkan ini
ke setiap pemanggilan fungsi ini.
Teladan 13-1. fetch()
caching = true;
// hanya melakukan panggilan db jika cache tidak ada
if(!$smarty->is_cached(\'index.tpl\')) {
// buat dummy untuk beberapa data
$address = \'245 N 50th\';
$db_data = array(
\'City\' => \'Lincoln\',
\'State\' => \'Nebraska\',
\'Zip\' => \'68502\'
);
$smarty->assign(\'Name\',\'Fred\');
$smarty->assign(\'Address\',$address);
$smarty->assign($db_data);
}
// tangkap output
$output = $smarty->fetch(\'index.tpl\');
// lakukan sesuatu dengan $output di sini
echo $output;
?>');
?> |
|
Teladan 13-2. Menggunakan fetch() untuk mengirim sebuah email
Template email_body.tpl
Dear {$contact.name},
Welcome and thankyou for signing up as a member of our user group,
Click on the link below to login with your user name of '{$contact.login_id}'
so you can post in our forums.
http://{$smarty.server.SERVER_NAME}/login/
List master
Some user group
{include file='email_disclaimer.tpl'} |
Template email_disclaimer.tpl yang menggunakan pengubah
{textformat}.
{textformat wrap=40}
Kecuali anda menamai "{$contact.name}", anda hanya dapat membaca "kata berurut
ganjil" (setiap kata lainnya diawali dengan yang pertama) atas pesan di atas.
Jika anda telah melanggarnya, maka anda berhutang ke pengirim 10 GBP untuk
setiap kata berurut genap yang sudah anda baca
{/textformat} |
Naskah php menggunakan fungsi PHP
mail()
getRow($sql);
$smarty->assign(\'contact\', $contact);
mail($contact[\'email\'], \'Subject\', $smarty->fetch(\'email_body.tpl\'));
?>');
?> |
|
Lihat juga
{fetch}
display(),
{eval},
dan
template_exists().