全局.公用标签 使用说明

解析范围:全站所有模板均可调用
最后更新:2017.09.04
 
系统普通标签
{$root}  网站安装目录
{$model} 当前模型名称 通常为(index|vod|news|special|gb|cm|my)
{$action} 当前操作名称 通常为(show|category|read|ename|search|tags|type|play|rss)
{$tpl_path}  当前模版路径
{$public_path} 公用文件目录路径
{$site_name} 网站名称 
{$site_domain} 主域名
{$site_domain_m} 移动端独立域名
{$site_url}  网站地址
{$site_title} 网站当前标题
{$site_keywords} 征对搜索引擎的关键字
{$site_description} 征对搜索引擎的说明
{$site_email} 显示站长Email链接
{$site_copyright} 显示网站版权
{$site_tongji}  调用网站统计链接
{$site_icp} 显示网站备案信息
{$site_hot} 热门搜索
{$site_sid} 频道ID标识
{$site_user_id} 已登录用户ID
{$site_user_name} 已登录用户名
以下为ThinkPhp模板引擎常用方法 更多请参考ThinkPhp2.1手册模板指南
{&var} 输出配置参数
{.var} 输出GET变量
{^var} 输出POST变量
<include file="Home:header" />包含Home文件夹下共用顶部文件
<include file="Block:nav" />包含Block文件夹下导航区块标签

 使用函数 可以是PHP内置函数或者是用户自定义函数。如:
{$varname|function1|function2=arg1,arg2,### } 
{$webTitle|md5|strtoupper|substr=0,3}
{$create_time|date="y-m-d",###}

 Volist标签 主要用于在模板中循环输出数据集或者多维数组
<volist name="list" id="feifeicms">
{$feifeicms.vod_id}
{$feifeicms.vod_name}
</volist>
Volist输出偶数记录
<volist name="list" id="feifeicms" mod="2" >
<eq name="mod" value="1">{$feifeicms.vod_name}</eq>
</volist>
Volist输出循环变量
<volist name="list" id="feifeicms" key="k" >
{$k}.{$feifeicms.vod_name}
</volist>
Switch标签 模板引擎支持Switch标签,格式为:
<switch name="变量" >
<case value="值1">输出内容1</case>
<case value="值2">输出内容2</case>
<default />默认情况
</switch>
比较标签 模板引擎提供了丰富的判断标签,比较标签的用法是:
<比较标签 name="变量" value="值">内容</比较标签>
系统支持的比较标签以及所表示的含义分别是:


eq 或者 equal:等于
neq 或者notequal:不等于
gt:大于
egt:大于等于
lt:小于
elt:小于等于
heq:恒等于
nheq:不恒等于


比较标签实例
<eq name="name" value="value">相等<else/>不相等</eq>
<eq name="vo.name" value="5">{$vo.name}</eq> 二维数组用.分隔
Range标签 Range标签用于判断某个变量是否在某个范围之内,包括in、notin和range三个标签。
可以使用in标签来判断模板变量是否在某个范围内,例如:
<in name="id" value="1,2,3" >输出内容1</in>
如果判断不再某个范围内,可以使用:
<notin name="id" value="1,2,3" >输出内容2</notin>
可以把上面两个标签合并成为:
<in name="id" value="1,2,3" >输出内容1<else/>输出内容2</in>
Empty标签 可以使用empty标签判断模板变量是否为空,例如:
<empty name="name">name为空值</empty>
<notempty name="name">name不为空</notempty>
<empty name="name">name为空<else /> name不为空</empty>
IF标签 我们还可以使用if标签来定义复杂的条件判断
<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
标签嵌套 模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套。
系统内置的标签中,volist(及其别名iterate)、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如:
<volist name="list" id="vo">
<volist name="vo['sub']" id="sub">
{$sub.name}
</volist>
</volist>
默认的嵌套层次是3级,所以嵌套层次不能超过3层
 
使用PHP代码 Php代码可以和标签在模板文件中混合使用
第一种是使用php标签:
<php>echo 'Hello,world!';</php>
第二种就是直接使用原始的php代码:
<?php echo 'Hello,world!'; ?>
原样输出 可以使用literal标签来防止模板标签被解析,例如:
<literal>
<if condition="$name eq 1 "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
</literal>
上面的if标签被literal标签包含,因此if标签里面的内容并不会被模板引擎解析,而是保持原样输出。

模板注释 模板支持注释功能,该注释文字在最终页面不会显示,仅供模板制作人员参考和识别。
格式:{/* 注释内容 */ } 或 {// 注释内容 } 

4 个评论

这个好,全站通用,不同的模型,要吧投放不同的广告了,或者分模块投放广告
厉害了我的哥,这个必须顶,第一个回复就奉献给它了...
网站配置中的如视频扩展分类 {$play_type} ,怎么在模板中调用配置文件中的扩展分类?
vod_type.tpl 里面直接看代码吧 这个用文字说不清

要回复文章请先登录注册