一、模板存放及调用规则

模板存放于系统 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. HTTP请求:requests的进阶使用方法浅析

    1 背景 上篇文章讲解了requests模块的基础使用,其中有get.put.post等多种请求方式,使用data.json等格式做为请求参数,在请求体中添加请求头部信息的常见信息,如:headers ...

  2. Paimon Compaction实现

    Compact主要涉及以下几个组件 CompactManager 管理Compact task CompactRewriter 用于compact过程中数据的重写实现, 比如compact过程中产生c ...

  3. Java protected 关键字详解

    很多介绍Java语言的书籍(包括<Java编程思想>)都对protected介绍的比较的简单,基本都是一句话,就是: 被 protected 修饰的成员对于本包和其子类可见.这种说法有点太 ...

  4. 基于ClickHouse解决活动海量数据问题

    1.背景 魔笛活动平台要记录每个活动的用户行为数据,帮助客服.运营.产品.研发等快速处理客诉.解决线上问题并进行相关数据分析和报警.可以预见到需要存储和分析海量数据,预估至少几十亿甚至上百亿的数据量, ...

  5. Seal AppManager如何基于Terraform简化基础设施管理

    作者简介 陈灿,数澈软件Seal 后端研发工程师,曾在腾讯负责敏捷研发体系建设以及 DevOps 解决方案的敏捷实践.在敏捷研发和产品效能提升有着丰富的经验,致力于构建一站式研发友好的平台工程解决方案 ...

  6. 投个 3D 冰壶,上班玩一玩

    ​本篇文章将介绍如何使用物理引擎和图扑 3D 可视化技术来呈现冰壶运动的模拟. Oimo.js 物理引擎 Oimo.js 是一个轻量级的物理引擎,它使用 JavaScript 语言编写,并且基于 Oi ...

  7. 一步一图带你构建 Linux 页表体系 —— 详解虚拟内存如何与物理内存进行映射

    笔者之前在自己的专栏<聊聊 Linux 内核> 里通过大量的篇幅写了一个系列关于内存管理相关的文章,在这个系列文章中,笔者分别通过虚拟内存管理和物理内存管理两个角度算是把 Linux 内存 ...

  8. BurpSuite设置上游代理访问内网

    转载原文 原理知道了后,开始! 拿到B的shell后,添加路由 拿到B的shell后,开启sock4 在D主机上设置好 最后成功抓到包

  9. Hugging Face 的文本生成和大语言模型的开源生态

    [更新于 2023 年 7 月 23 日: 添加 Llama 2.] 文本生成和对话技术已经出现多年了.早期的挑战在于通过设置参数和分辨偏差,同时控制好文本忠实性和多样性.更忠实的输出一般更缺少创造性 ...

  10. UI获取元素的几种方式

    通过浏览器驱动获取页面元素的8种方式. 定位方法: 通过webdriver对象的find_element方法 通过 id获取元素 el = driver.find_element(By.ID,'id' ...