Get Smarty

Donate

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

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Visit www.sport-kick.com for cheap soccer cleats, sneakers and Soccer Jerseys updates

Advertisement

{insert}

Tag {insert} bekerja sangat mirip dengan tag {include}, kecuali bahwa tag {insert} TIDAK di-cache ketika caching template dihidupkan. Ia akan dijalankan pada setiap permintaan template.

Nama AtributTipeDiperlukanDefaultDeskripsi
namestringYan/aNama fungsi insert (insert_name)
assignstringTidakn/aNama variabel template yang outputnya akan ditempati
scriptstringTidakn/aNama naskah php yang disertakan sebelum fungsi insert dipanggil
[var ...][var type]Tidakn/avariabel untuk mengirimkan fungsi insert

Katakanlah anda mempunyai template dengan slot spanduk di atas halaman. Spanduk bisa berisi campuran HTML, gambar, flash, dll. maka kita tidak bisas cukup menggunakan link statis di sini, dan kita tidak ingin konten ini di-cache dengan halaman. Sampailah tag {insert}: template mengetahui #banner_location_id# dan nilai #site_id# (dikumpulkan dari file config), dan perlu untuk memanggil fungsi guna memperoleh konten spanduk.

Teladan 7-22. fungsi {insert}

{* contoh mengambil spanduk *}
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}

Pada contoh ini, kita menggunakan nama "getBanner" dan mengirimkan parameter #banner_location_id# dan #site_id#. Smarty akan mencari fungsi bernama insert_getBanner() dalam aplikasi PHP anda, mengirimkan nilai #banner_location_id# dan #site_id# sebagai argumen pertama dalam array asosiatif. Semua nama fungsi {insert} dalam aplikasi anda harus didahului dengan "insert_" guna menghindari kemungkinan konflik ruang-nama fungsi. Fungsi insert_getBanner() anda harus melakukan sesuatu dengan nilai yang dikirimkan dan mengembalikan hasil. Hasil ini kemudian ditampilkan dalam template di tempat tag {insert}. Dalam contoh ini, Smarty akan memanggil fungsi ini: insert_getBanner(array("lid" => "12345","sid" => "67890")); dan menampilkan hasil yang dikembalikan di tempat tag {insert}.

  • Jika anda menyertakan atribut assign, output dari tag {insert} akan ditampati variabel template ini daripa menjadi output bagi template.

    Catatan: Menempatkan output ke variabel template tidak terlalu berguna jika caching dihidupkan.

  • Jika anda menyertakan atribut script, naskah php ini akan disertakan (hanya sekali) sebelum funsi {insert} dijalankan. Ini kasus di mana fungsi insert mungkin belum ada, dan naskah php harus disertakan lebih dulu agar ia bekerja.

    Path dapat berupa absolut, atau relatif ke $trusted_dir. Ketika $security dihidupkan, naskah harus berada dalam $trusted_dir.

Obyek Smarty dikriimkan sebagai argumen kedua. Dengan cara ini anda dapat mereferensi dan mengubah informasi dalam obyek Smarty dari dalam fungsi {insert}.

Catatan Teknis: Dimungkinkan bagian template tidal di-cache. Jika anda menghidupkan caching, tag {insert} tidak akan di-cache. Ia akan dijalankan secara dinamis setiap kali halaman dibuat, bahkan di dalam halaman yang di-cache. Ini bekerja baik untuk hal-hal seperti spanduk, polling, laporan cuaca, hasil pencarian, area umpan balik pengguna, dll.

Lihat juga {include}

Comments
No comments for this page.

Advertisement