Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Sumber daya

Template mungkin berasal dari berbagai sumber. Ketika anda display() atau fetch() sebuah template, atau saat anda menyertakan template dari dalam template lain, anda menyertakan sebuah tipe sumber daya, diikuti oleh path dan nama template terkait. Jika sumber daya tidak secara eksplisit diberi nilai, $default_resource_type yang diasumsikan.

Templates dari $template_dir

Template dari $template_dir tidak membutuhkan sumber daya template , meskipun anda dapat menggunakan sumber daya file: untuk konsistensi. Cukup sertakan path ke template yang ingin anda gunakan relatif ke direktori akar $template_dir.

Teladan 15-6. Menggunakan template dari $template_dir

display(\'index.tpl\'); $smarty->display(\'admin/menu.tpl\'); $smarty->display(\'file:admin/menu.tpl\'); // sama seperti yang di atas ?>'); ?>

Dari dalam template Smarty

{include file='index.tpl'}
{* di bawah ini sama seperti yang di atas*}
{include file='file:index.tpl'}

Template dari direktori mana saja

Template di luar $template_dir memerlukan tipe sumber daya template file:, diikuti oleh path absolut ke template.

Teladan 15-7. Menggunakan template daru direktori mana saja

display(\'file:/export/templates/index.tpl\'); $smarty->display(\'file:/path/to/my/templates/menu.tpl\'); ?>'); ?>

Dan dari dalam template Smarty:

{include file='file:/usr/local/share/templates/navigation.tpl'}

Path file Windows

Jika anda menggunakan mesin Windows, path file biasanya menyertakan sebuah huruf drive (C:) di awal nama path. Pastikan untuk menggunakan file: dalam path guna menghindari konflik namespace dan memperoleh hasil yang diinginkan.

Teladan 15-8. Menggunakan template dari path file windows

display(\'file:C:/export/templates/index.tpl\'); $smarty->display(\'file:F:/path/to/my/templates/menu.tpl\'); ?>'); ?>

Dan dari dalam template Smarty:

{include file='file:D:/usr/local/share/templates/navigation.tpl'}

Template dari sumber daya lain

Anda dapat mengambil template menggunakan sumber daya apapun yang mungkin anda akses dengan PHP: database, soket, LDAP, dan seterusnya. Anda melakukan ini dengan menulis fungsi plugins sumber daya dan mendaftarkannya dengan Smarty.

Lihat seksi plugins sumber daya untuk informasi lebih jauh mengenai fungsi yang harus anda sediakan.

Catatan: Catatan bahwa anda tidak bisa menimpa sumber daya built-in file:, tapi anda dapat menyediakan sumber daya yang mengambil template dari sistem file dalam beberapa cara lain dengan mendaftarkan di bawah nama sumber daya lain.

Teladan 15-9. Menggunakan sumber daya kustom

query("select tpl_source from my_table where tpl_name=\'$tpl_name\'"); if ($sql->num_rows) { $tpl_source = $sql->record[\'tpl_source\']; return true; } else { return false; } } function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj) { // tidak ada pemanggilan database di sini untuk mempopulasikan $tpl_timestamp. $sql = new SQL; $sql->query("select tpl_timestamp from my_table where tpl_name=\'$tpl_name\'"); if ($sql->num_rows) { $tpl_timestamp = $sql->record[\'tpl_timestamp\']; return true; } else { return false; } } function db_get_secure($tpl_name, &$smarty_obj) { // menganggap seluruh template aman return true; } function db_get_trusted($tpl_name, &$smarty_obj) { // tidak digunakan untu templates } // mendaftarkan nama sumber daya "db" $smarty->register_resource("db", array("db_get_template", "db_get_timestamp", "db_get_secure", "db_get_trusted")); // menggunakan sumber daya dari naskah php $smarty->display("db:index.tpl"); ?>'); ?>

Dan dari dalam template Smarty:

{include file='db:/extras/navigation.tpl'}

Fungsi pengendali template default

Anda bisa menetapkan fungsi yang dipakai untuk mengambil konten template seandainya template tidak dapat diambil dari sumber dayanya. Satu kegunaan dari ini adalah untuk membuat template yang tidak ada secara-langsung.

Teladan 15-10. Menggunakan fungsi pengendali template default

$smarty_obj->template_dir . DIRECTORY_SEPARATOR . $resource_name, \'contents\'=>$template_source ), $smarty_obj ); return true; } } else { // bukan sebuah file return false; } } // set pengendali standar $smarty->default_template_handler_func = \'make_template\'; ?>'); ?>
Comments
No comments for this page.

Advertisement