一、模板的使用   
    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. oracle数据库兼容mysql的差异写法

    1.sysdate改为sysdate(),或者now(); 2.nvl(expr1,expr2) 改为IFNULL(expr1,expr2) nvl2(expr1,expr2,expr3)改为 IF( ...

  2. web学习:Spring2.5+Hibernate3.3+Struts1.3整合小例子

    写android有段时间了,感觉思维越写越狭窄,考虑问题越来越局限了,看不到一个项目整体的设计和构架,觉得很有必要多多写一些大型的框架性的东西来提高自己的视野. 从接触java到现在一年多了,在我的印 ...

  3. HDU 1896 Stones(优先队列)

    还是优先队列 #include<iostream> #include<cstdio> #include<cstring> #include<queue> ...

  4. FZU 2107 Hua Rong Dao(暴力回溯)

    dfs暴力回溯,这个代码是我修改以后的,里面的go相当简洁,以前的暴力手打太麻烦,我也来点技术含量.. #include<iostream> #include<cstring> ...

  5. 利用MFC编写计算器

    端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加.减.乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示“1”,后 ...

  6. hibetnateTemplate常用方法

    一.hibetnateTemplate常用方法 1.delete(Object entity) 删除指定的持久化实例在程序中一般先用    Assert.notNull和 Assert.isTrue断 ...

  7. highcharts 去掉打印和链接

    1)去掉或更改图片右下角的链接 在highcharts.js文件中搜索credits字符串,找到如下的字符串, enabled:设置是否显示链接 text:设置链接显示的名称 href:设置链接的ur ...

  8. Jobject 使用

    obj2 = JObject.Parse(result.Html); JArray _Jarr = _obj["data"]["siteList"].Value ...

  9. bzoj1061 志愿者招募

    bzoj1061 志愿者招募 Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难 题:为即将启动的奥运新项目招募一批短期志愿者.经 ...

  10. STM32 的加密实现(转)

    源:STM32 的加密实现 基于STM32F103的ID号对应用程序的保护方法 目的:对运行于STM32的嵌入式代码程序进行加密 编译环境:IAR Embedded System for ARM5.5 ...