视图渲染
- display 获取具体内容,并自动输出
$this->display();同名模板$this->display('showView');showView模板$this->display('Index:add');index目录下的add模板$this->display('Admin@Index:add');Admin模块下的Index目录下的add模板$this->display('./add.html');完整的模板名称
- fetch 获取具体内容,不会自动输出
模板替换
最后两个最常用

自定义模板替换: 在config.php里面配置
'TMPL_PARSE_STRING' => array (
'__PUBLIC_ADMIN__'=>'/Public/Admin'
)
模板赋值
$this->assign('msg',$msg);最常用$this->display();
赋值操作一定要在渲染之前 使用模板赋值:
变量
- TP模板引擎显示msg
{$msg} - PHP原生
<?php echo $msg;?>
数组
- TP模板引擎显示具体data数组内数据内容
{$data.name} - PHP原生
对象
- TP模板引擎显示具体data数组内数据内容
{$data:name} 或 {$data->name}
系统变量
在模板中使用系统变量都是$Think开头

模板函数



模板运算符
a+b={$a+$b}数组运算:{$data['price']*$data['num']}不在支持点语法,需要用原生
内置标签
- foreach
<foreach name="data" item="val" key="k">
下标{$k}---name:{$val.name}---version:{$val.version};
</foreach>
- if
- eq =
- neq !=
- gt >
- egt >=
- lt <
- elt <=
- heq ==
- nheq !==
<if condition="$day eq 7"> xxx
<elseif condition=""/> xxx
<else/> xxx
</if>
- 比较标签
<eq name="month" value="12">
快过年了
<else />
一年才开始
<eq/>
- volist标签
<volist name="data" id="val" offset="2" length="6" key="index">
循环原始下标:{$key}---{$index}---{$mod}---{$val.name}<br/>
</volist>
公用模板
<include file="Public/header" />
模板继承
在父模板中使用
<block name="xxx"></block>
在子模板中使用
<extend name="xxx"/>