Template: Bagian III

Tag Properti Dinamis

Tag properti dinamis sangat mirip dengan tag konten dinamis, kecuali bahwa ia berlaku untuk properti komponen. Kegunaan tag properti dinamis adalah untuk membolehkan konfigurasi properti komponen lebih serba guna. Catatan, anda tidak perlu memakai tag properti dinamis karena apa yang bisa dikerjakan oleh tag properti dinamis juga bisa dilakukan dalam kode PHP. Akan tetapi, menggunakan tag properti dinamis membawa anda jauh lebih nyaman saat menyempurnakan tugas yang sama. Pemakaian dasar dari tag properti dinamis adalah sebagai berikut,

<com:ComponentType PropertyName=DynamicPropertyTag ...> body content </com:ComponentType>

di mana anda dapat mengurung DynamicPropertyTag di dalam tanda kutip tunggal atau dua agar pembacaannya lebih baik.

Seperti tag konten dinamis, kami mempunyai tag ekspresi, tag databind, tag parameter, tag asset dan tag lokalisasi. (Catatan, tidak ada tag pernyataan di sini.)

Tag Ekspresi

Tag ekspresi mewakili ekspresi PHP yang dievaluasi saat kontrol template dalam tahap PreRender. Hasil evaluasi ekspresi disisipkan di tempatkan ke properti komponen terkait. Format tag ekspresi adalah sebagai berikut,

<%= PhpExpression %>

Dalam ekspresi, $this merujuk ke kontrol yang memiliki template. Contoh berikut menetapkan kontrol TLabel di mana properti Text diberi contoh seperti judul halaman saat ini saat kontrol TLabel sedang dibentuk,

<com:TLabel Text=<%= $this->Page->Title %> />

Databind Tags

Tag databind mirip dengan tag ekspresi, kecuali bahwa ekspresi dievaluasi hanya ketika panggilan dataBind() diterapkan pada kontrol yang mewakili tag databind. Konteks (yaitu $this) dari ekspresi databind adalah kontrol yang memiliki template. Tag databind tidak berlaku bagi seluruh komponen. Ia hanya digunakan untuk kontrol.

Format tag databind adalah sebagai berikut,

<%# PhpExpression %>

Sejak v3.0.2, tag ekspresi dan tag databind dapat direkatkan di dalam string statis. Sebagai contoh, anda bisa menulis yang berikut dalam template,

<com:TLabel> <prop:Text> Today is <%= date('F d, Y',time()) %>. The page class is <%= get_class($this) %>. </prop:Text> </com:TLabel>

Sebelumnya, anda harus menggunakan ekspresi tunggal dengan penggabungan string untuk mendapatkan efek yang sama.

Parameter Tags

Tag parameter dipakai untuk menyisipkan parameter aplikasi di tempat di mana ia muncul dalam template. Format tag parameter adalah sebagai berikut,

<%$ ParameterName %>

Catatan, parameter aplikasi biasanya didefinisikan konfigurasi aplikasi atau konfigurasi direktori halaman. Parameter dievaluasi saat template diberi contoh.

Tag Asset

Tag asset dipakai untuk mempublikasikan file pribadi dan menampilkan URL terkait. Sebagai contoh, jika anda mempunyai file gambar yang tidak bisa diakses Web dan anda ingin menjadikannya terlihat bagi pengguna-akhir, anda dapat menggunakan tag asset untuk mempublikasikan file ini dan menampilkan URL ke pengguna-akhir agar mereka dapat mengambil gambar yang dipublikasikan. Tag asset dievaluasi ketika template diberi contoh.

Format tag asset adalah sebagai berikut,

<%~ LocalFileName %>

di mana LocalFileName merujuk ke path file yang relatif ke direktori yang berisi file template saat ini. Path file bisa berupa file tunggal atau sebuah direktori. Jika direktori, konten dalam seluruh direktori akan dibuat dapat diakses oleh pengguna-akhir.

HARAP SANGAT BERHATI-HATI ketika anda menggunakan tag asset karena ia dapat memperlihatkan ke pengguna-akhir file yang tidak ingin anda perlihatkan kepada mereka.

Tag Lokalisasi

Tag lokalisasi mewakili teks yang dilokalisasi. Formatnya adalah sebagai berikut,

<%[string]%>

di mana string akan diterjemahkan ke bahasa berbeda tergantung pada preferensi bahasa pengguna-akhir. Tag lokalisasi sebenarnya adalah jalan pintas ke fungsi panggil Prado::localize(string).

$Id: Templates3.page 2036 2007-06-26 17:12:54Z xue $