一、模板存放及調用規則
模板存放於系統 template 目錄,template 目錄下的一個目錄
例如:template/default/ 即為一套模板
模板檔案以 .htm 為副檔名,可直接存放於模板目錄
例如 template/default/index.htm
也可以存放於模板目錄的子目錄裡
例如:template/default/member/index.htm
在PHP檔案裡,使用模板文法為
<?php include template('index');?>
或者
<?php include template('index', 'member');?>
如果當前預設範本套係為default,則:
<?php include template('header');?>
表示使用 template/default/header.htm 模板檔案
<?php include template('header', 'member');?>
表示使用 template/default/member/header.htm 模板檔案
模板目錄下在 these.name.php 是模板別名的設定檔,模板別名可以在後台範本管理員修改。
模板解析後的快取檔案儲存於cache/tpl/目錄,副檔名為 .tpl.php
二、模板文法
1、包含模板:{template 'header'} 或{template 'header', 'member'}
{template 'header'}被解析為
<?php include template('header');?>
表示使用 template/default/header.htm 模板檔案
{template 'header', 'member'}
被解析為:
<?php include template('header','member');?>
表示使用 template/default/member/header.htm 模板檔案
2、變數或常量表示:
變數 {$destoon} 被解析為:
<?php echo $destoon;?>
常量 {DESTOON} 被解析為:
<?php echo DESTOON;?>
對於數組,標準寫法應為 例如 {$destoon['index']},可簡寫為{$destoon[index]},模板在解析時會自動追加引號。
3、函數 {func_name($par1, $par2)}
{func_name($par1, $par2)}被解析為
<?php func_name($par1, $par2);?>
4、PHP運算式 {php expression}
{php expression}被解析為
<?php expression ?>
5、條件陳述式 {if $a=='b'} do A {/if} 或{if $a=='b'} do A {else} do B {/if} 或 {if $a=='b'} do A{elseif $b=='c'} do C {else} do B {/if}
{if $a=='b'} do A {/if}被解析為
<?php if($a=='b') { do A }?>
{if $a=='b'} do A {else} do B {/if}被解析為
<?php if($a=='b') { do A } else { do B } ?>
{if $a=='b'} do A {elseif $b=='c'} do C {else} do B {/if}被解析為
<?php if($a=='b') { do A } else if($b=='c') { do C } else { do B } ?>
6、LOOP迴圈 {loop $var $v}...{loop} 或
{loop $var $k $v}...{loop}
{loop $var $v}...{loop}被解析為
<?php if(is_array($var)) { foreach($var as $v) { ... } }?>
{loop $var $k $v}...{loop}被解析為
<?php if(is_array($var)) { foreach($var as $k=>$v) { ... } }?>
三、特殊用法
1、變數或運算式可以用HTML注釋,例如 仍被解析為 <?php echo $destoon; ?> (可自動過濾此類注釋)
2、可直接在模板裡書寫PHP代碼,直接書寫PHP代碼與DESTOON 模板文法是相容的。