一、模板的使用   
    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. 常用Select语句

    --语 句                                功 能--数据操作SELECT      --从数据库表中检索数据行和列INSERT      --向数据库表添加新数据行DE ...

  2. 使用response实现文件下载注意点

    创建web工程,使用response实现文件的下载. 在webRoot下创建download文件,里面包含要下载的文件,现在把源码贴上来,然后再说我遇到的问题 public class DownLoa ...

  3. PAT (Advanced Level) 1003. Emergency (25)

    最短路+dfs 先找出可能在最短路上的边,这些边会构成一个DAG,然后在这个DAG上dfs一次就可以得到两个答案了. 也可以对DAG进行拓扑排序,然后DP求解. #include<iostrea ...

  4. Selenium-Grid工作方式

    http://blog.csdn.net/five3/article/details/9428655 Selenium-Grid工作方式 标签: selenium-grid2webdriversele ...

  5. Ext4.1 , #Ext4.2

    在类中定义url 和 在参数中定义url不同 Ext4.1 和 Ext4.2 处理上有较大的区别

  6. 一个UWSGI的例子

    摘要:uwsgi执行顺序:启动master进程,执行python脚本的公共代码(import同一层).然后生成worker进程,uwsgi.post_fork_hook=init_functions, ...

  7. hibernate--对象的三种状态Transient,Persistent,Detached

    Transient:刚new出来的对象 Persistent: sava或者update之后的状态 Detached: close或者clear之后 test函数: @Test public void ...

  8. astah* professional 6.9.0

    下载地址:http://members.change-vision.com/files/astah_professional/6_9_0 破解方法:按照Astah Professional 6.9后打 ...

  9. maven bundle

    今天引入了几个bundle到pom,尽然说missing,我还以为是nexus组织下载.把type=bundle去掉可以下载,后来同事给了我这个连接https://issues.apache.org/ ...

  10. pyhton字符编码问题--decode和encode方法

    1  decode和encode方法 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成uni ...