20150316--TP-01

image

1、 模板注释

tp的模板中可以加入注释,有两种方式:

l {/* 注释内容 */ } 多行注释

l {// 注释内容 } 单行注释

wps1739.tmp

运行:

wps173A.tmp

可以看出,tp模板注释属于服务器端注释,不会显示在客户端中

2、 变量输出

在tp的模板中,变量输出主要有三种形式:

1) 普通变量

{$name}、{$email}

2) 数组变量

{$row[‘name’]}、{$row.name}

3) 对象变量

{$obj:name}、{$obj:test()}

控制器代码:

wps174A.tmp

模板代码:

wps175B.tmp

运行结果:

wps175C.tmp

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 引入配置文件中的值

wps176D.tmp

运行:

wps177D.tmp

4、 使用函数

语法:

{$name|fn1|fn2=arg1,arg2,### }

wps177E.tmp

运行:

wps178F.tmp

5、 默认值

语法:

{$变量|default="默认值"}

wps1790.tmp

以下情况时会自动使用default后面的内容:

1) 没有为这个变量分配数据

2) 向这个变量分配空数据

6、 运算符

在模板中,可以直接使用算术运算符对变量进行运算

l + {$a+$b}

l - {$ab}

l * {$a*$b}

l / {$a/$b}

l % {$a%$b}

l ++ {$a++} 或  {++$a}

l -- {$a--}  或 {--$a}

控制器:

wps17A1.tmp

模板:

wps17A2.tmp

运行:

wps17A3.tmp

7、 文件包含

语法:

<include file="模板文件名" />

是基于项目的入口文件位置。

./Tpl/Admin/Public/header.html

wps17C3.tmp

目录结构:

wps17D3.tmp

Public:所有公共页模板

在模板中:

wps17D4.tmp

include的另一种语法:

<include file=’模块:操作’ />

在上题中,在Index模块下的模板中,可以直接使用这种语法来引用其它模块下的模板

wps17E5.tmp

footer.html

wps17F6.tmp

运行:

wps17F7.tmp

8、 导入文件

导入文件是指对资源文件(css、js)的导入

语法:

<import  type=‘type’ file=‘file’ />

file(必须):资源文件

type(可选):资源文件类型,默认为js

起始路径是网站的Public目录

以前的导入方式:

wps17F8.tmp

文件目录:

wps1808.tmp

模板代码:

wps1819.tmp

运行:

wps181A.tmp

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

控制器:

wps183A.tmp

模板:

wps184B.tmp

运行:

wps184C.tmp

10、 foreach标签

foreach用于解析数组

语法:

<foreach name="list" item="vo" >

{$vo.id}

{$vo.name}

</foreach>

name:要解析的数组名称

item:当前解析到的数组元素

模板:

wps185C.tmp

运行:

wps185D.tmp

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:不恒等于

模板:

wps186E.tmp

运行:

wps186F.tmp

12、 php标签

在tp的模板中,允许直接使用php代码

语法:

1)<php>echo “hello”;</php>

2)<?php echo “think”; ?>

TMPL_DENY_PHP :用于配置模板中是否拒绝使用php代码

模板:

wps1880.tmp

运行:

wps1881.tmp

修改配置文件,禁用第二种php写法

wps1891.tmp

原文地址:https://www.cnblogs.com/lifushan/p/5469479.html