1、 模板注释
tp的模板中可以加入注释,有两种方式:
l {/* 注释内容 */ } 多行注释
l {// 注释内容 } 单行注释
运行:
可以看出,tp模板注释属于服务器端注释,不会显示在客户端中
2、 变量输出
在tp的模板中,变量输出主要有三种形式:
1) 普通变量
{$name}、{$email}
2) 数组变量
{$row[‘name’]}、{$row.name}
3) 对象变量
{$obj:name}、{$obj:test()}
控制器代码:
模板代码:
运行结果:
3、 系统变量
在tp的模板,有一个内置的对象,它是:$Think,它可以引用很多系统内置的变量
l $Think.server $_SERVER
l $Think.get $_GET $Think.get.username
l $Think.post $_POST
l $Think.request $_REQUEST
l $Think.cookie $_COOKIE
l $Think.session $_SESSION
l $Think.config 引入配置文件中的值
运行:
4、 使用函数
语法:
{$name|fn1|fn2=arg1,arg2,### }
运行:
5、 默认值
语法:
{$变量|default="默认值"}
以下情况时会自动使用default后面的内容:
1) 没有为这个变量分配数据
2) 向这个变量分配空数据
6、 运算符
在模板中,可以直接使用算术运算符对变量进行运算
l + {$a+$b}
l - {$ab}
l * {$a*$b}
l / {$a/$b}
l % {$a%$b}
l ++ {$a++} 或 {++$a}
l -- {$a--} 或 {--$a}
控制器:
模板:
运行:
7、 文件包含
语法:
<include file="模板文件名" />
是基于项目的入口文件位置。
./Tpl/Admin/Public/header.html
目录结构:
Public:所有公共页模板
在模板中:
include的另一种语法:
<include file=’模块:操作’ />
在上题中,在Index模块下的模板中,可以直接使用这种语法来引用其它模块下的模板
footer.html
运行:
8、 导入文件
导入文件是指对资源文件(css、js)的导入
语法:
<import type=‘type’ file=‘file’ />
file(必须):资源文件
type(可选):资源文件类型,默认为js
起始路径是网站的Public目录
以前的导入方式:
文件目录:
模板代码:
运行:
9、 volist标签
语法:
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
l name(必须):要遍历的数组变量
l id(必须):当前数组元素
l offset: 要输出数据的offset
l length: 输出数据的长度,需要指定offset
l key: 循环索引,从1开始排列,默认值:i
控制器:
模板:
运行:
10、 foreach标签
foreach用于解析数组
语法:
‘
<foreach name="list" item="vo" >
{$vo.id}
{$vo.name}
</foreach>
name:要解析的数组名称
item:当前解析到的数组元素
模板:
运行:
11、 if标签
语法:
l <if condition="$name eq 1">
l value1
l <elseif condition="$name eq 2"/>
l value2
l <else />
l value3
l </if>
关于condition里面的判断条件:
l eq或者 equal:等于
l neq 或者notequal:不等于
l gt:大于
l egt:大于等于
l lt:小于
l elt:小于等于
l heq:恒等于
l nheq:不恒等于
模板:
运行:
12、 php标签
在tp的模板中,允许直接使用php代码
语法:
1)<php>echo “hello”;</php>
2)<?php echo “think”; ?>
TMPL_DENY_PHP :用于配置模板中是否拒绝使用php代码
模板:
运行:
修改配置文件,禁用第二种php写法