ThinkPHP快速入门5_循环和控制输出,公共模板和模板布局

循环输出

VOLIST
volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。

<volist name="list" id="vo">
{$vo.id}:{$vo.name}<br/>
</volist>

说明:Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突。
补充用法:
1)<volist name="list" id="vo" offset="5" length='10'>输出第五到十五条记录
2)<volist name="list" id="vo" mod="2" >输出偶数记录
3)<volist name="list" id="vo" empty="暂时没有数据" >为空的时候输出
注:empty属性不支持直接传入html语法,但可以支持变量输出
FOREACH

<foreach name="list" item="vo">
    {$vo.id}:{$vo.name}
</foreach>

name表示数据源 item表示循环变量。

条件输出

SWITCH
用法:

<switch name="变量" >
<case value="值1" break="0或1">输出内容1</case>
<case value="值2">输出内容2</case>
<default />默认情况
</switch>

注:对于case的value属性可以支持多个条件的判断,使用”|”进行分割

比较标签

用法:

<比较标签 name="变量" value="值">
内容
</比较标签>

范围判断标签

IN和NOTIN
使用in标签来判断模板变量是否在某个范围内
BETWEEN 和 NOTBETWEEN
用between标签来判断变量是否在某个区间范围内,当使用between标签的时候,value只需要一个区间范围,也就是只支持两个值,后面的值无效。

赋值判断标签

present标签用于判断某个变量是否已经定义
empty标签用于判断某个变量是否为空

公共模板和模板布局

公共模板


在当前模版文件中包含其他公用的模版文件使用include标签,标签用法:

<include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' />

使用模版表达式
模版表达式的定义规则为:模块@主题/控制器/操作

<include file="Public/header" /> // 包含头部模版header
<include file="Public/menu" /> // 包含菜单模版menu
<include file="Blue/Public/menu" /> // 包含blue主题下面的menu模版

或者包含多个模板

<include file="Public/header,Public/menu" />

注意,包含模版文件并不会自动调用控制器的方法,也就是说包含的其他模版文件中的变量赋值需要在当前操作中完成。

使用模版文件
可以直接包含一个模版文件名(包含完整路径),例如:

<include file="./Application/Home/View/default/Public/header.html" />

传入参数
Include标签支持在包含文件的同时传入参数

模板布局


第一种方式:全局配置方式
第二种方式:模板标签方式
第三种方式:使用layout控制模板布局

Action参数绑定


按变量名绑定
例如,我们给Blog控制器定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需要指定年份(year)和月份(month)两个参数,
URL的访问地址分别是:

http://serverName/index.php/Home/Blog/read/id/5
http://serverName/index.php/Home/Blog/archive/year/2013/month/11

按变量顺序绑定
操作方法的定义不需要改变,URL的访问地址分别改成:

http://serverName/index.php/Home/Blog/read/5
http://serverName/index.php/Home/Blog/archive/2013/11

空操作和空控制器


空操作
空操作是指系统在找不到请求的操作方法的时候,会定位到当前控制器的空操作(_empty)方法来执行。

注意:空操作方法仅在你的控制器类继承系统的Think\Controller类才有效。

空控制器
空控制器的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值