一、模板的使用   
    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. Divisor Summation_

    Divisor Summation Problem Description Give a natural number n (1 <= n <= 500000), please tell ...

  2. CG之菲涅尔效果简单实现

    菲涅尔效果,指当光到达两种材质的接触面时,一些光在接触面的表面被反射出去,而另一部分光将发生折射穿过接触面. 现在要用shader来实现这种效果,如果要精确地描述这种底层的物理,其计算公式是非常复杂的 ...

  3. Android Guts: Intro to Loopers and Handlers

    One of the reasons I love Android API is because it contains so many useful little things. Many of t ...

  4. PDF 补丁丁 0.5 正式版发布

    经过了两年的测试,新版本的 PDF 补丁丁已经比较稳定了.在农历新年前发布这个 0.5 版,作为正式稳定版吧. 新的 PDF 补丁丁比旧的 0.3 版增加了许多功能: PDF 可视化编辑文档书签,可从 ...

  5. AVR编程_如何通过软件复位AVR?(转)

    源:http://blog.sina.com.cn/s/blog_493520900100bpos.html Question 如何通过软件复位AVR? Answer 如果你想通过软件复位AVR,你应 ...

  6. 用 JS 点击左右按钮 使图片切换 - 最精简版-ljx2380000-ChinaUnix博客

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  7. WebRequestManager对象的使用

    WebRequestManager可以喝WebRequest对象一起使用. WebRequestManager对象的add_completedRequest方法,可以用来处理所有WebRequest对 ...

  8. cocopods安装与使用

    转自http://www.cnblogs.com/jys509/p/4839803.html Cocoapods安装步骤 1.升级Ruby环境 sudo gem update --system 如果R ...

  9. greenDAO简介

    了解android开发的人应该都会知道,android的数据库开发主要用到sqlite.greenDAO应该算是当前最火的数据库开源框架了吧,它是一个移动开发的ORM(object / relatio ...

  10. PHP PSR 代码风格

    FIG组织在制定跟PHP相关规范,简称PSR,PSR旨在通过讨论我们代码项目的共同点以找出一个协作编程的方法. 什么是psr0 强调自动加载的方式 下文描述了若要使用一个通用的自动加载器(autolo ...