一、模板存放及调用规则

模板存放于系统 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 模板语法是兼容的。

https://www.clw9335.com/rj/wangluogongju/7/

Destoon模板存放及调用规则的更多相关文章

  1. Destoon 模板存放规则 及 语法参考

    模板存放规则及语法参考 一.模板存放及调用规则 模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm ...

  2. destoon模板存放调取规则

    一.模板存放及调用规则      模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm 为扩展名,可直 ...

  3. C++11 图说VS2013下的引用叠加规则和模板参数类型推导规则

    背景:    最近在学习C++STL,出于偶然,在C++Reference上看到了vector下的emplace_back函数,不想由此引发了一系列的“探索”,于是就有了现在这篇博文. 前言:     ...

  4. 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)

    关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解. microsoft的vc默认的是__cdecl方式,而windo ...

  5. 驱动:中断【2】中断处理程序、中断上下文中处理延时及一些函数的调用规则(调IIC中断驱动有感)

    中断处理程序.中断上下文中处理延时及一些函数的调用规则(调IIC中断驱动有感)http://blog.csdn.net/samantha_sun/article/details/6790492 1,中 ...

  6. DESTOON B2B标签(tag)调用手册

    路径:include/tag.func.php 1.标签格式的大致说明 {tag("moduleid=9&table=article_9&length=40&cond ...

  7. Struts2中Action对象的set方法和get方法调用规则

    Struts的Action是采用的是多实例多线程设计,而不是像Servlet那样采用单实例多线程设计,因此在struts中,一个请求就对应一个Action对象,个对象之间的数据相互之间互不干扰.没接到 ...

  8. C++函数模板的显示调用与隐式调用

    C++函数模板可以显示调用与可以隐式调用 首先定义函数模板: template <class T> inline const T& c_max (const T& a, c ...

  9. zabbix模板的自动发现规则(ldd)实现被监控项自动发现

    zabbix模板的自动发现规则(ldd)实现被监控项自动发现 自动发现规则(ldd)用途说明 在zabbix自带的linux模板的自动发现规则中,有一个Mounted filesystem disco ...

  10. destoon模板语法规则笔记

    1.包含模板 {template 'header'} 或 {template 'header', 'member'} {template 'header'} 被解析为 : <?php inclu ...

随机推荐

  1. 关于Abp Vnext 权限授权的问题

    一.问题 最近收到一位朋友的求助,说他项目上的权限授权出现了问题,现象是在基础服务授权角色:RC 权限:X.Default,在基础服务使用RC角色的用户登录能访问到权限X.Default资源,而在X服 ...

  2. Cronjob 定时任务

    Job: 负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束. CronJob: 则就是在Job上加上了时间调度. 我们用Job这个资源对象来创建一个任务,我们定一个Job来 ...

  3. GPT3的局限性:语言多样性、语言理解能力、数据量

    目录 GPT-3 的局限性:语言多样性.语言理解能力.数据量 随着人工智能技术的不断发展,越来越多的语言模型被开发出来,其中最具代表性的就是 GPT-3.然而,尽管 GPT-3 已经在自然语言处理领域 ...

  4. React后台管理系统 02样式初始化,引入reset-css

    上一篇中,我们已经对项目的整体结构进行了搭建,现在需要对不需要的东西进行删除,最后留下这些东西. 现在需要对全部的样式进行清除,使用命令导入依赖:npm i reset-css 然后在main.tsx ...

  5. 一个跨平台的`ChatGPT`悬浮窗工具

    一个跨平台的ChatGPT悬浮窗工具 使用avalonia实现的ChatGPT的工具,设计成悬浮窗,并且支持插件. 如何实现悬浮窗? 在使用avalonia实现悬浮窗也是非常的简单的. 实现我们需要将 ...

  6. MySQL-this is incompatible with sql_mode=only_full_group_by 错误解决

    MySQL-this is incompatible with sql_mode=only_full_group_by 错误解决 编辑配置文件 Linux 中 :my.cnf Windows中 : m ...

  7. ERP导出(自定义格式表格)R报表开发代码

    按照正常流程新建程序,画面修改上传,程序下载修改 导入JAVA包,在global.import下 IMPORT com IMPORT JAVA java.net.URL IMPORT JAVA org ...

  8. 一键搞定发布自己Jar到Maven中央仓库

    做java 开发那当然离不开jar包管理, 不知何时一直想想封装一个自己的jar包 然后发布到maven中央仓库给别人使用. hhh 我感觉自己写一个jar包工具然后,被很多人使用是一件很牛,很快乐事 ...

  9. ASP.Net Core 项目部署

    安装环境 部署环境有两种: .Net Core SDK 包含所有运行时和程序开发包,用于程序开发使用,体积相对较大. .Net Core Runtime 仅用于程序运行,不包含开发包,体积小. 注:部 ...

  10. CentOS上安装Redis的两种方式

    今天小编给大家介绍下,如何在CentOS上安装Redis.通常有两种方式:第一种是通过下载源码并编译来安装,第二种是通过仓库直接安装.相较而言,第二种方式更直截了当,但小编更倾向第一种. 一.通过源码 ...