指定加载页面
//如果(指定操作)调用:
return $view->fetch('add');
//则定位模板文件为:
//[模板文件目录]/当前控制器名(小写+下划线)/add.html
//如果调用控制器的某个模板文件使用:
return $view->fetch('user/add');
模板标签输出
//下面是数组输出
$data['name'] = 'ThinkPHP';
$data['email'] = 'thinkphp@qq.com';
$view->assign('data',$data);
//那么,在模板中我们可以用下面的方式输出:
Name:{$data.name}
Email:{$data['email']}
模板标签使用函数
//使用函数,有很多函数
{$data.name|md5} 编译后的结果是: <?php echo (md5($data['name'])); ?>
{$create_time|date="y-m-d",###} 编译后的结果是 <?php echo (date("y-m-d",$create_time)); ?>
//函数也可以使用冒号
{:substr(strtoupper(md5($name)),0,3)}
//我们可以给变量输出提供默认值,例如:
{$user.nickname|default="这家伙很懒,什么也没留下"}
//对系统变量依然可以支持默认值输出,例如:
{$Think.get.name|default="名称为空"}
//默认值和函数可以同时使用,例如:
{$Think.get.name|getName|default="名称为空"}
//三元运算符
{$status? '正常' : '错误'}
{$info['status']? $info['msg'] : $info['error']}
{$info.status? $info.msg : $info.error }
页面包含文件
{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="Public/header" title="$title" keywords="开源WEB开发框架" /}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[title]</title>
<meta name="keywords" content="[keywords]" />
</head>
页面布局
其实不是很常用,主要是太局限性了,只能替换一个。
1. 第一步在视图目录下,新建文件lizhili.html(application\admin\view)
2. 在页面中保留统一的文件,不统一的用{CONTENT}替换, {CONTENT}只能有一个
3. 页面中如何书写,页面直接书写{layout name=”lizhili” /}
页面继承
- 下面是在基础模板里面编写
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{block name="title"}标题{/block}</title>
</head>
<body>
{block name="menu"}菜单{/block}
{block name="left"}左边分栏{/block}
{block name="main"}主内容{/block}
{block name="right"}右边分栏{/block}
{block name="footer"}底部{/block}
</body>
</html>
- 下面是在子模板里面编写
{extend name="base" /}
{block name="title"}{$title}{/block}
{block name="menu"}
<a href="/" >首页</a>
<a href="/info/" >资讯</a>
<a href="/bbs/" >论坛</a>
{/block}
{block name="left"}{/block}
{block name="main"}
{volist name="list" id="vo"}
<a href="/new/{$vo.id}">{$vo.title}</a><br/>
{$vo.content}
{/volist}
{/block}
{block name="right"}
最新资讯:
{volist name="news" id="new"}
<a href="/new/{$new.id}">{$new.title}</a><br/>
{/volist}
{/block}
{block name="footer"}
{__block__}
@ThinkPHP 版权所有
{/block}
模板标签
1,volist循环,参考手册
{volist name="list" id="vo" key="k" }
{$k}.{$vo.name}
{/volist}
{volist name="list" id="vo" empty="暂时没有数据" }
{$vo.id}|{$vo.name}
{/volist}
2,foreach循环
{foreach name="list" item="vo"}
{$vo.id}:{$vo.name}
{/foreach}
3,for循环
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
4,比较运算符,tp框架里面不能使用>和<
标签 含义
eq或者 equal 等于
neq 或者notequal 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于
5,if判断标签
{if condition="($name == 1) OR ($name > 100) "}
value1
{elseif condition="$name eq 2"/}
value2
{else /}
value3
{/if}
6,switch判断语句
{switch name="User.level"}
{case value="1"}value1{/case}
{case value="2"}value2{/case}
{default /}default
{/switch}
7,包含语句
{in name="id" value="1,2,3"}
id在范围内
{else/}
id不在范围内
{/in}
8,区间范围
{between name="id" value="1,10"}
输出内容1
{else/}
输出内容2
{/between}
9,原生php
{php}echo 'Hello,world!';{/php}
<?php echo 'Hello,world!'; ?>