summaryrefslogtreecommitdiff
path: root/demos/quickstart/protected/pages/Configurations/id/Templates3.page
blob: e53d338424e38ab3da243b93f2525dca3c65aa03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<com:TContent ID="body" >
<h1 id="1701">Template: Bagian III</h1>

<a name="dpt"></a>
<h2 id="1702">Tag Properti Dinamis</h2>
<p id="200196" class="block-content">
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,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200087">
&lt;com:ComponentType PropertyName=DynamicPropertyTag ...&gt;
body content
&lt;/com:ComponentType&gt;
</com:TTextHighlighter>
<p id="200197" class="block-content">
di mana Anda dapat mengurung <tt>DynamicPropertyTag</tt> di dalam tanda kutip tunggal atau dua agar pembacaannya lebih baik.
</p>
<p id="200198" class="block-content">
Seperti tag konten dinamis, kami mempunyai <a href="#et">tag ekspresi</a>, <a href="#dt">tag databind</a>, <a href="#pt">tag parameter</a>, <a href="#at">tag asset</a> dan <a href="#lot">tag lokalisasi</a>. (Catatan, tidak ada tag pernyataan di sini.)
</p>

<a name="et"></a>
<h3 id="1703">Tag Ekspresi</h3>
<p id="200199" class="block-content">
Tag ekspresi mewakili ekspresi PHP yang dievaluasi saat kontrol template dalam tahap <tt>PreRender</tt>. Hasil evaluasi ekspresi disisipkan di tempatkan ke properti komponen terkait. Format tag ekspresi adalah sebagai berikut,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200088">
&lt;%= PhpExpression %&gt;
</com:TTextHighlighter>
<p id="200200" class="block-content">
Dalam ekspresi, <tt>$this</tt> merujuk ke kontrol yang memiliki template. Contoh berikut menetapkan kontrol <tt>TLabel</tt> di mana properti <tt>Text</tt> diberi contoh seperti judul halaman saat ini saat kontrol <tt>TLabel</tt> sedang dibentuk,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200089">
&lt;com:TLabel Text=&lt;%= $this-&gt;Page-&gt;Title %&gt; /&gt;
</com:TTextHighlighter>

<a name="dt"></a>
<h3 id="1704">Tag Databind</h3>
<p id="200201" class="block-content">
Tag databind mirip dengan tag ekspresi, kecuali bahwa ekspresi dievaluasi hanya ketika panggilan <tt>dataBind()</tt> diterapkan pada kontrol yang mewakili tag databind. Konteks (yaitu <tt>$this</tt>) dari ekspresi databind adalah kontrol yang memiliki template. Tag databind tidak berlaku bagi seluruh komponen. Ia hanya digunakan untuk kontrol.
</p>
<p id="200202" class="block-content">
Format tag databind adalah sebagai berikut,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200090">
&lt;%# PhpExpression %&gt;
</com:TTextHighlighter>
<p id="200203" class="block-content">
Sejak v3.0.2, tag ekspresi dan tag databind dapat direkatkan di dalam string statis. Sebagai contoh, Anda bisa menulis yang berikut dalam template,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200091">
&lt;com:TLabel&gt;
  &lt;prop:Text&gt;
  Today is &lt;%= date('F d, Y',time()) %&gt;.
  The page class is &lt;%= get_class($this) %&gt;.
  &lt;/prop:Text&gt;
&lt;/com:TLabel&gt;
</com:TTextHighlighter>
<p id="200204" class="block-content">
Sebelumnya, Anda harus menggunakan ekspresi tunggal dengan penggabungan string untuk mendapatkan efek yang sama.
</p>

<a name="pt"></a>
<h3 id="1705">Tag Parameter</h3>
<p id="200205" class="block-content">
Tag parameter dipakai untuk menyisipkan parameter aplikasi di tempat di mana ia muncul dalam template. Format tag parameter adalah sebagai berikut,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200092">
&lt;%$ ParameterName %&gt;
</com:TTextHighlighter>
<p id="200206" class="block-content">
Catatan, parameter aplikasi biasanya didefinisikan konfigurasi aplikasi atau konfigurasi direktori halaman. Parameter dievaluasi saat template diberi contoh.
</p>

<a name="at"></a>
<h3 id="1706">Tag Asset</h3>
<p id="200207" class="block-content">
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.
</p>
<p id="200208" class="block-content">
Format tag asset adalah sebagai berikut,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200093">
&lt;%~ LocalFileName %&gt;
</com:TTextHighlighter>
<p id="200209" class="block-content">
di mana <tt>LocalFileName</tt> 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.
</p>
<p id="200210" class="block-content">
HARAP SANGAT BERHATI-HATI ketika Anda menggunakan tag asset karena ia dapat memperlihatkan ke pengguna-akhir file yang tidak ingin Anda perlihatkan kepada mereka.
</p>

<a name="lot"></a>
<h3 id="1707">Tag Lokalisasi</h3>
<p id="200211" class="block-content">
Tag lokalisasi mewakili teks yang dilokalisir. Formatnya adalah sebagai berikut,
</p>
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_200094">
&lt;%[string]%&gt;
</com:TTextHighlighter>
<p id="200212" class="block-content">
di mana <tt>string</tt> akan diterjemahkan ke bahasa berbeda tergantung pada preferensi bahasa pengguna-akhir. Tag lokalisasi sebenarnya adalah jalan pintas ke fungsi panggil <tt>Prado::localize(string)</tt>.
</p>

</com:TContent>