当前位置: 首页> 腾云互助> 正文

DESTOON模板存放规则及语法参考

  一、模板存放及调用规则

  模板存放于系统 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注释,例如 <!--{$destoon}--> 仍被解析为 <?php echo $destoon; ?> (可自动过滤此类注释)

  2、模板可以用<!--[注释内容]-->,进行注释,模板编译时会自动去除,不会显示在页面中。(V>=5.0)

  3、可直接在模板里书写PHP代码,直接书写PHP代码与 DESTOON 模板语法是兼容的。