一、模板的使用        (重点)
a、规则
模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)
更换模板文件的后缀名(修改配置文件)
'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
b、修改模板文件目录层次
'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
c、模板主题
'DEFAULT_THEME'=>'your',//设置默认模板主题
需要在TPL下面新建一个your文件夹作为模板主题文件夹
如何动态修改模板主题?
1、在后台准备一个功能,修改config.php文件中的默认模板项
2、通过url传递 t=主题 参数可以修改不同的模板
'DEFAULT_THEME'=>'your',//设置默认模板主题
'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
'THEME_LIST'=>'your,my',//支持的模板主题列表 二、输出模板内容 (重点)
a、display
1.display中没有参数
$this->display();
2.可以带参数
$this->display(本模块文件夹下的其他模板文件);
$this->display('index2'); $this->display(其他文件夹下的模板文件);
$this->display('Public:error');//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块 $this->display(其他主题下的 文件夹下的 模板文件);//需要开启主题支持
$this->display('my:Index:index'); $this->display(一个url路径);
$this->display('./Public/error.html'); $this->display('./Public/error.html','utf-8','text/xml'); $this->show($content);
3.fetch方法
获得模板文件中的内容,以字符串形式返回
$content=$this->fetch('Public:error');
4.show方法
不需要模板文件,可以直接输出模板内容
$content=$this->fetch('Public:error');
dump($content);
$content=str_replace('h1','i',$content);
$this->show($content);
三、模板中的赋值 (重点)
//$this->assign('name','赵桐正');
$this->name='赵桐正2';
$this->display();
四、模板替换 (重点)
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/
__ROOT__: 会替换成当前网站的地址(不含域名)
__APP__: 会替换成当前项目的URL地址 (不含域名)
__GROUP__:会替换成当前分组的URL地址 (不含域名)
__URL__: 会替换成当前模块的URL地址(不含域名)
__ACTION__:会替换成当前操作的URL地址 (不含域名)
__SELF__: 会替换成当前的页面URL 更换模板变量规则,修改配置项
'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则
'__CSS__'=>__ROOT__.'/Public/Css',
'__JS__'=>__ROOT__.'/Public/Js',
), // C:\wamp\www\thinkphp\Public\error.html //当前目录下的Public下的error.html,当前目录是指C:\wamp\www\thinkphp $this->display('./Public/error.html'); 访问:
http://localhost/thinkphp/index.php/Index/show $this->display 需要一个模板文件,不然报错 $this->show($content) 不需要模板 // public function index(){
//$content=$this->fetch('Public:error'); $this->assign('name','赵杨健');
//$this->show($content);
$this->display(); } //前台模板: <h1>helloworld---22--33-44 <{$name}></h1> // 引入css文件
//目录结构: $ ls -ltr
总用量 2
-rwxrwx---+ 1 Administrators None 321 四月 14 13:50 error.html.bak
-rwxrwx---+ 1 Administrators None 332 四月 14 15:13 error.html
drwxrwx---+ 1 Administrators None 0 四月 14 16:54 Js
drwxrwx---+ 1 Administrators None 0 四月 14 17:01 Css $ cd Css/ Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Public/Css
$ ls
basic.css Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Public
$ cd Js/ Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp/Public/Js
$ ls
basic.js basic.js.bak Index/index.html: <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Index</title>
<link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/basic.css'/>
</head> <body>
<p>helloworld---22--33-44 <{$name}></p> <!-- <volist name='data' id='vo'>
<{$vo.id}>----<{$vo.username}>-----<{$vo.sex}><br/>
</volist> -->
</body>
</html> //css文件内容: p {
background:green;
} //调用 js文件
alert('我被调用了'); __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ <br/>
__ROOT__: 会替换成当前网站的地址(不含域名) <br/>
__APP__: 会替换成当前项目的URL地址 (不含域名) <br/>
__GROUP__:会替换成当前分组的URL地址 (不含域名) <br/>
__URL__: 会替换成当前模块的URL地址(不含域名) <br/>
__ACTION__:会替换成当前操作的URL地址 (不含域名) <br/>
__SELF__: 会替换成当前的页面URL /thinkphp/Public:会被替换成当前网站的公共目录 通常是 /Public/
/thinkphp: 会替换成当前网站的地址(不含域名)
/thinkphp/index.php: 会替换成当前项目的URL地址 (不含域名)
/thinkphp/index.php:会替换成当前分组的URL地址 (不含域名)
/thinkphp/index.php/Index: 会替换成当前模块的URL地址(不含域名)
/thinkphp/index.php/Index/index:会替换成当前操作的URL地址 (不含域名)
/thinkphp/index.php/Index/index: 会替换成当前的页面URL

ThinkPHP 3.1.2 视图-2的更多相关文章

  1. ThinkPHP 3.2.3 视图模型的使用

    ThinkPHP 3.2.3 试图模型的手册地址是:http://www.kancloud.cn/manual/thinkphp/1781 实例 需求:在博客列表页读取博客的(id.标题.摘要.发布时 ...

  2. ThinkPHP 数据库操作(七) : 视图查询、子查询、原生查询

    视图查询 视图查询可以实现不依赖数据库视图的多表查询,并不需要数据库支持视图,例如: Db::view('User','id,name') ->view('Profile','truename, ...

  3. ThinkPHP 3.1.2 视图-1

    一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件 [index].html(.tpl) 更换模板文 ...

  4. ThinkPHP 3.1.2 视图 MVC-V -5

    一.模板的使用        (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl) ...

  5. Thinkphp跨模块调用视图文件

    当需要跨模块调用视图文件时,需要使用被包含文件的完整路径,如: <include file="./App/Home/View/Store/header.html"/> ...

  6. ThinkPHP 3.2.2 视图模板中使用字符串截取函数

    在项目的 Common/function.php 文件里( 项目结构如图 ) 添加函数: /*字符串截断函数+省略号*/ function subtext($text, $length) { if(m ...

  7. thinkphp 视图定义

    视图定义 视图通常是指数据库的视图,视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的 ...

  8. 使用ThinkPHP框架高速开发站点(多图)

    使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...

  9. 使用ThinkPHP框架高速发展网站(多图)

    使用ThinkPHP框架高速搭建站点 这一周一直忙于做实验室的站点,基本功能算是完毕了.比較有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.假设对于相同是Web方面新手的你有一丝丝帮助 ...

随机推荐

  1. CentOS修改系统默认语言与编码

    有时候在安装CentOS无意中把默认语言设置为中文,而部分SSH软件不支持中文编码,所以在远程管理的时候会出现些乱码的现象.   如何修改CentOS的默认语言呢? 请先使用root权限帐户登陆 一. ...

  2. Oracle与SQL自治事务

    自治事务 自治事务是独立的事务操作,如果考虑到事务回滚,必须单独写成一个触发器来完成, 一个事务A在另一个事务B内被调用,那个事务A是自治事务,自治事务A执行过程中会脱离其session内未执行完毕的 ...

  3. 读书笔记 - 设计模式(Head First)

    设计模式让你和其他开发人员之间有共享的词汇,设计模式可以把你的思考架构的层次提高到模式层面,而不是停留在琐碎的对象上. 设计原则: 封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需 ...

  4. C和C++运算符 (转)

    这里是C和C++语言的运算符列表.所有列出的运算符皆含纳于C++:第三个栏目里的内容也使用C来描述.应当注意的是C不支持运算符重载. 下列运算符在两个语言中都是顺序点(运算符未重载时): && ...

  5. Oracle包的概念

    转自:http://www.cnblogs.com/lovemoon714/archive/2012/02/29/2373695.html 1.为什么要使用包?       答: 在一个大型项目中,可 ...

  6. Hive 入门(转)

    #创建表人信息表  person(String name,int age) hive> create table person(name STRING,age INT)ROW FORMAT DE ...

  7. 常用ajax请求

    JQuery版本的ajax请求:(包括处理WebService中xml字符串) $.ajax({ type: "POST", async: true, url: "&qu ...

  8. js命名空间的使用

    js命名空间的使用: test.html 代码如下: <!DOCTYPE HTML><html lang="en-US"><head>    & ...

  9. 转: 关于异步promises

    迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念是由CommonJS小组的成员在 Promises/A规范 中提出来的 ...

  10. openstack中iptables的使用

    openstack中nova使用了iptables实现其网络相关功能,乍看openstack的iptables表比较复杂,整理了一下iptables的filter表和nat表的结构,以一个all in ...