内置标签
注:使用原生php代码时,内部不能使用内置标签
包含文件
在当前模版文件中包含其他的模版文件使用include标签,标签用法
{include file='模版文件1,模版文件2,...' /}
注: 路径以 项目目录/public/ 路径下为起点
循环标签
//Demo7.php
public function test3()
{
$student = [
[
'id' => '01',
'name' => '张三'
],
[
'id' => '02',
'name' => '李四'
],
[
'id' => '03',
'name' => '王五'
]
];
$this->view->assign('student',$student);
return $this->view->fetch();
}
foreach循环
用于循环输出数组或者对象的属性
//test3.html
<body>
<h2>foreach循环</h2>
{foreach $student as $key=>$val}
id: {$val.id} --->
name:{$val.name}<br />
{/foreach}
</body>
volist循环
用于查询数据集或者二维数组的结果输出。 在控制器中首先对模版赋值:
Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突
<h2>volist</h2>
//普通用法
{volist name="student" id="vo"}
{$vo.id}:{$vo.name}<br/>
{/volist}
//查询结果中的部分数据,例如输出其中的第5~15条记录
{volist name="list" id="vo" offset="5" length='10'}
{$vo.name}
{/volist}
//为空的时候输出提示:
{volist name="list" id="vo" empty="暂时没有数据" }
{$vo.id}|{$vo.name}
{/volist}
//输出循环变量:
{volist name="list" id="vo" key="k" }
{$k}.{$vo.name}
{/volist}
使用volist时建议加上key属性,保证数据唯一
for循环
{for start="开始值" end="结束值" step="步进值" name="循环变量名" }
{/for}
name和step可以省略,name默认值为i
判断
switch 标签
用法:
{switch 变量 }
{case value1 }输出内容1{/case}
{case value2}输出内容2{/case}
{default /}默认情况
{/switch}
对于case属性可以支持多个条件的判断,使用”|”进行分割,例如
{switch Think.get.type}
{case gif|png|jpg}图像格式{/case}
{default /}其他格式
{/switch}
注: 使用变量方式的情况下,不再支持|分割的多个条件判断用法。
if 标签
用法
{if 表达式}value1
{elseif 表达式 /}value2
{else /}value3
{/if}
范围判断
范围判断标签包括 in/notin/
between/ notbetween
四个标签,都用于判断变量是否中某个范围
实例一
{in name="id" value="1,2,3"}
id在范围内
{/in}
实例二
{between name="id" value="1,10"}
变量id在1到10之间
{/between}
PRESENT/NOTPRESENT标签
present标签用于判断某个变量是否已经定义,notpresent与之相反
{present name="name"}
name已经赋值
{/present}
EMPTY/NOTEMPTY 标签
empty标签用于判断某个变量是否为空,用法:
{empty name="name"}
name为空值
{/empty}
DEFINED 标签
DEFINED标签用于判断某个常量是否有定义,用法如下
{defined name="NAME"}
NAME常量已经定义
{/defined}
资源加载
原生
<script type='text/javascript' src='/static/js/common.js'>
<link rel="stylesheet" type="text/css" href="/static/css/style.css" />
内置
{load href="/static/js/common.js" /}
{load href="/static/css/style.css" /}
或
{load href="/static/js/common.js,/static/css/style.css" /}
定义标签
ASSIGN标签
实例
//在运行模板的时候,赋值了一个var的变量,值是123。
{assign name="var" value="123" /}
DEFINE标签
实例
//在运行模板的时候,就会定义一个MY_DEFINE_NAME的常量。
{define name="MY_DEFINE_NAME" value="3" /}