对照编译的文件和模板文件
1. 默认添加的
编译之后的模板自动添加的,每个编译后的文件都有此语句
<? if(!defined('UC_ROOT')) exit('Access Denied');?>
在编译模板的时候自动加上的,每个模板文件都有此语句
2.if判断
模板代码
<!--{if $updated}-->
<div class="correctmsg"><p>{lang update_succeed}</p></div>
<!--{elseif $addapp}-->
<div class="correctmsg"><p>{lang app_add_succeed}</p></div>
<!--{/if}-->
编译后的代码:
<? if($updated) { ?>
<div class="correctmsg"><p>更新成功。</p></div>
<? } elseif($addapp) { ?>
<div class="correctmsg"><p>成功添加应用。</p></div>
<? } ?>
3.eval语句
模板代码
<!--{eval echo '<pre>'.print_r($_GET, TRUE).'</pre>';}-->
编译后的代码
<? echo '<pre>'.print_r($_GET, TRUE).'</pre>';?>
说明: <! {eval 和 } > 之间的是需要执行的 PHP 代码,要求语句完整。
4.模板调用,调用相应的模板部分
模板代码
{template header}
编译后代码
<? include $this->gettpl('header');?>
这里的header是调用模板目录下的header.htm文件
5.模板固定语,引用的是
{lang update_succeed}
调用
相应模板目录下的templates.lang.php文件里的数组
更新成功。
6.调用变量
<input type="checkbox" name="delete[]" value="$app[appid]" class="checkbox" />
<input type="checkbox" name="delete[]" value="<?=$app['appid']?>" class="checkbox" />
7.loop函数
模板代码
<!--{loop $typelist $typeid $typename}-->
<option value="$typeid" {if $typeid == $type}selected="selected"{/if}> $typename </option>
<!--{/loop}-->
编译后代码
<? foreach((array)$typelist as $typeid => $typename) {?>
<option value="<?=$typeid?>" <? if($typeid == $type) { ?>selected="selected"<? } ?>>
<?=$typename?>
</option>
<?}?>
loop 后跟三个参数时,第一个参数是用于循环的数组,第二个和第三个参数分别是对数组中每一项循环时项的键名和值。