thinkPHP 视图
一、模板的使用
a、规则
模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)
更换模板文件的后缀名(修改配置文件)
'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
b、修改模板文件目录层次 (一般不用)
'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
在tpl文件下Index_index.html 就等于Index/index.html
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(其他主题下的 文件夹下的 模板文件);//需要开启主题支持 ('DEFAULT_THEME'=>'your')
$this->display('my:Index:index');
$this->display(一个url路径);
$this->display('./Public/error.html');
$this->display('./Public/error.html','utf-8','text/xml');
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();
$array['name'] = 'thinkphp';
$array['email'] = 'liu21st@gmail.com';
$array['phone'] = '12335678';
$this->assign($array);
使用时 直接 {$name}
四、模板替换
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public
__ROOT__: 会替换成当前网站的地址(不含域名) /think
__APP__: 会替换成当前项目的URL地址 (不含域名)/think/index.php
__GROUP__:会替换成当前分组的URL地址 (不含域名)
__URL__: 会替换成当前模块的URL地址(不含域名) /think/index.php/Index
__ACTION__:会替换成当前操作的URL地址 (不含域名) /think/index.php/Index/index
__SELF__: 会替换成当前的页面URL /think/index.php?m=Index&a=index
更换模板变量规则,修改配置项
'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则
'__CSS__'=>__ROOT__.'/Public/Css',
'__JS__'=>__ROOT__.'/Public/Js',
),
thinkPHP 视图的更多相关文章
- ThinkPHP视图查询详解
ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm 这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下 ThinkP ...
- ThinkPHP视图查询
ThinkPHP视图查询 一.总结 1.这里的视图查询和多表查询很像,当然多表查询的话肯定要支持左右链接查询 2.view:视图的使用,关键字是view 3.sql视图功能支持:thinkphp支持视 ...
- thinkphp 视图定义
视图定义 视图通常是指数据库的视图,视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的 ...
- thinkphp 视图模型使用分析
<?php /** * 视图模型 * */ class ViewBatchModel extends ViewModel{ public $viewFields = array( 'Jinxia ...
- thinkphp 视图(二)变量输出、赋值和替换
view下的html文件会编译成php文件 编译的文件在runtime 下的temp目录 <p>{$email}</p> 会编译成 <?php echo $email; ...
- thinkphp 视图(一)
视图 View <?php namespace app\index\controller; class Index{ public function index(){ return view() ...
- Thinkphp 视图模型
1.创建视图模型 2.定义视图模型 class BlogViewModel extends ViewModel { public $viewFields = array( 'Blog'=>arr ...
- ThinkPHP视图css和js加上版本号防止缓存
前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_C ...
- thinkphp 视图view
一. 继承Controller类 <?php namespace app\index\controller; use http\Params; use think\Config; use thi ...
随机推荐
- struts2整合spring应用实例
我们知道struts1与spring整合是靠org.springframework.web.struts.DelegatingActionProxy来实现的,以下通过具体一个用户登录实现来说明stru ...
- (转)多个MapReduce作业相互依赖时,使用JobControl进行管理
原文地址:http://mntms.iteye.com/blog/2086990 要处理复杂关系的数据,一个工程里面绝对不止一个MapReduce作业,当有多个MapReduce作业时, ...
- Maven项目中提示:Eclipse “cannot be resolved to a type” error
我的解决办法是这个: 临时解决方法是:Clean项目 ********百度到的其他解决办法,统一归纳此处****************** (1)jdk不匹配(或不存在) 项目指定的jdk为“jdk ...
- SQL Server 事务及回滚事务的几种方法
第一种: declare @iErrorCount int set@iErrorCount=0 begintran Tran1 insertinto t1(Id, c1) values( ...
- margin 如何居中
#id { margin-left: auto; margin-right: auto;width:100px}一定得增加width:100px这一个属性.margin:[N]px auto;widt ...
- JS基础知识(五)
内置对象 定义:JS语言自己定义的一些对象,供开发者使用. 常用内置对象: 1.Arguments对象 arguments.length 返回实参的个数 他只在正运行的函数内部使用.argument ...
- ecos的app包管理
install 安装 install app_name1 app_name2 有时候要用-o参数,把所有安装过程需要的参数带入进去(安装过程的参数放在app/$app_name/task.php里in ...
- UIView Methods
UIView翻译 (参考) 2011年04月12日 星期二 10:09 转载于:http://blog.csdn.net/tracylife/archive/2010/08/27/5842723.as ...
- Linux Apache2 配置介绍
转自:http://blog.csdn.net/hursing/article/details/18730813 apache原指http server程序,后来成为了该程序的组织名,所以把原程序名定 ...
- CSU 1515 Sequence
莫队算法+map #include<cstdio> #include<cstring> #include<cmath> #include<map> #i ...