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
|
<com:TContent ID="body" >
<h1 id="1601">Templates: Part II</h1>
<a name="dct"></a>
<h2 id="1602">Dynamic Content Tags</h2>
<p>
Dynamic content tags are introduced as shortcuts to some commonly used <a href="?page=Configurations.Templates1#ct">component tags</a>. These tags are mainly used to render contents resulted from evaluating some PHP expressions or statements. They include <a href="#et">expression tags</a>, <a href="#st">statement tags</a>, <a href="#dt">databind tags</a>, <a href="#pt">parameter tags</a>, <a href="#at">asset tags</a> and <a href="#lot">localization tags</a>.
</p>
<a name="et"></a>
<h3 id="1603">Expression Tags</h3>
<p>
An expression tag represents a PHP expression that is evaluated when the template control is in <tt>PreRender</tt> stage. The expression evaluation result is inserted at the place where the tag resides in the template. The context (namely <tt>$this</tt>) of the expression is the control owning the template.
</p>
<p>
The format of an expression tag is as follows,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%= PhpExpression %>
</com:TTextHighlighter>
<p>
For example, the following expression tag will display the current page title at the place,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%= $this->Title %>
</com:TTextHighlighter>
<a name="st"></a>
<h3 id="1604">Statement Tags</h3>
<p>
Statement tags are similar to expression tags, except that statement tags contain PHP statements rather than expressions. The output of the PHP statements (using for example <tt>echo</tt> or <tt>print</tt> in PHP) are displayed at the place where the statement tag resides in the template. The context (namely <tt>$this</tt>) of the statements is the control owning the template. The format of statement tags is as follows,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%%
PHP Statements
%>
</com:TTextHighlighter>
<p>
The following example displays the current time in Dutch at the place,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%%
setlocale(LC_ALL, 'nl_NL');
echo strftime("%A %e %B %Y",time());
%>
</com:TTextHighlighter>
<a name="dt"></a>
<h3 id="1605">Databind Tags</h3>
<p>
Databind tags are similar to expression tags, except that the expressions are evaluated only when a <tt>dataBind()</tt> call is invoked on the controls representing the databind tags. The context (namely <tt>$this</tt>) of a databind expression is the control owning the template. The format of databind tags is as follows,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%# PhpExpression %>
</com:TTextHighlighter>
<a name="pt"></a>
<h3 id="1606">Parameter Tags</h3>
<p>
Parameter tags are used to insert application parameters at the place where they appear in the template. The format of parameter tags is as follows,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%$ ParameterName %>
</com:TTextHighlighter>
<p>
Note, application parameters are usually defined in application configurations or page directory configurations. The parameters are evaluated when the template is instantiated.
</p>
<a name="at"></a>
<h3 id="1607">Asset Tags</h3>
<p>
Asset tags are used to publish private files and display the corresponding the URLs. For example, if you have an image file that is not Web-accessible and you want to make it visible to end-users, you can use asset tags to publish this file and show the URL to end-users so that they can fetch the published image.
</p>
<p>
The format of asset tags is as follows,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%~ LocalFileName %>
</com:TTextHighlighter>
<p>
where <tt>LocalFileName</tt> refers to a file path that is relative to the directory containing the current template file. The file path can be a single file or a directory. If the latter, the content in the whole directory will be made accessible by end-users.
</p>
<p>
BE VERY CAUTIOUS when you are using asset tags as it may expose to end-users files that you probably do not want them to see.
</p>
<a name="lot"></a>
<h3 id="1608">Localization Tags</h3>
<p>
Localization tags represent localized texts. They are in the following format,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
<%[string]%>
</com:TTextHighlighter>
<p>
where <tt>string</tt> will be translated to different languages according to the end-user's language preference. Localization tags are in fact shortcuts to the function call <tt>Prado::localize(string)</tt>.
</p>
</com:TContent>
|