一、模板的使用   
    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 视图的更多相关文章

  1. ThinkPHP视图查询详解

    ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm   这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下     ThinkP ...

  2. ThinkPHP视图查询

    ThinkPHP视图查询 一.总结 1.这里的视图查询和多表查询很像,当然多表查询的话肯定要支持左右链接查询 2.view:视图的使用,关键字是view 3.sql视图功能支持:thinkphp支持视 ...

  3. thinkphp 视图定义

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

  4. thinkphp 视图模型使用分析

    <?php /** * 视图模型 * */ class ViewBatchModel extends ViewModel{ public $viewFields = array( 'Jinxia ...

  5. thinkphp 视图(二)变量输出、赋值和替换

    view下的html文件会编译成php文件 编译的文件在runtime 下的temp目录 <p>{$email}</p> 会编译成 <?php echo $email; ...

  6. thinkphp 视图(一)

    视图 View <?php namespace app\index\controller; class Index{ public function index(){ return view() ...

  7. Thinkphp 视图模型

    1.创建视图模型 2.定义视图模型 class BlogViewModel extends ViewModel { public $viewFields = array( 'Blog'=>arr ...

  8. ThinkPHP视图css和js加上版本号防止缓存

    前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_C ...

  9. thinkphp 视图view

    一. 继承Controller类 <?php namespace app\index\controller; use http\Params; use think\Config; use thi ...

随机推荐

  1. java数据类型,hibernate数据类型,标准sql数据类型之间的对应表

    Hibernate API简介 其接口分为以下几类: l         提供访问数据库的操作的接口: l         用于配置Hibernate的接口: l         回调接口 l     ...

  2. 热门IOS 第三方库

    综合github上各个项目的关注度与具体使用情况,涵盖功能,UI,数据库,自动化测试,编程工具等类型,看完,还敢自称”精通iOS开发”吗? https://github.com/syedhali/EZ ...

  3. logo集锦

    收集一个酷酷的技术公司的logo,一方面学习其中的美,另一方面打算用代码的画出这些logo算做致敬.感谢他们改变了我们的世界. 三星 苹果 戴尔 谷歌 IBM intel 惠普

  4. Ubuntu 14.04 使用MyEclipse 10.7 闪退解决

    http://www.linuxidc.com/Linux/2014-05/101750.htm

  5. Linux服务器自动备份压缩MySQL数据库的实用方法

    <?php$server = 'localhost'; $link = mysql_connect($server, 'root', 'haven'); $result = mysql_quer ...

  6. Eclipse开发Maven项目提示:程序包org.junit不存在解决方案

    原因: 个人考虑产生此错误的原因是因为Eclipse中对于测试和开发的鉴定不明?Intellij中没有错误,因为Intellij对项目的管理就是同Maven结构的. 解决方案: 原来的junit的sc ...

  7. windows下强大的wmic命令行工具

    windows最令网管诟病的地方就是命令行没有unix和linux强大.但这种情况正在不断改观,windows命令行也越来越强大了.其中,微软耗费大量精力打造的wmi就是一例.  获得进程ID与进程名 ...

  8. Tickets 基础DP

    Tickets Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  9. 安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图

    前面几篇博客中都是调用ChartFactory.get***Intent()方法,本节讲的内容调用ChartFactory.get***View()方法,这个方法调用的结果可以嵌入到任何一个Activ ...

  10. MAC 调整Launchpad 图标大小

    1.调整每一列显示图标数量 defaults write com.apple.dock springboard-rows -int 7 2.调整每一行显示图标数量 defaults write com ...