zoukankan      html  css  js  c++  java
  • 黄聪: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、可直接在模板里书写PHP代码,直接书写PHP代码与 DESTOON 模板语法是兼容的。

  • 相关阅读:
    实现selenium+Chrome爬取时不加载图片——配置
    对SHH的公钥和私钥的简单理解
    python正则匹配——中文字符的匹配
    学习笔记——TCP“三次握手”和“四次挥手”,简单介绍
    python在Linux中安装虚拟环境,区别python2和python3,分别安装模块
    Linux中安装MongoDB出现的问题记录
    PHP第三方登录——QQ登录
    OAuth2.0协议
    Shiro自动登录
    Shiro缓存管理
  • 原文地址:https://www.cnblogs.com/huangcong/p/2570101.html
Copyright © 2011-2022 走看看