ThinkPHP中的视图模型

2025-10-31 06:31:52

1、模板的使用 (重点)a、规则模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)更换模板文件的后缀名(修改配置文件)'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名b、修改模板文件目录层次'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次c、模板主题'DEFAULT_THEME'=>'your',//设置默认模板主题需要在TPL下面新建一个your文件夹作为模板主题文件夹如何动态修改模板主题?1、在后台准备一个功能,修改config.php文件中的默认模板项2、通过url传递 t=主题 参数可以修改不同的模板'DEFAULT_THEME'=>'your',//设置默认模板主题'TMPL_DETECT_THEME'=>true,//自动侦测模板主题'THEME_LIST'=>'your,my',//支持的模板主题列表

2、输出模板内容 (重点)a、display1.display中没有参数$this->display();2.可以带参数$this->display(本模块文件夹下的其他模板文件);$this->display('index2');$this->display(其他文件夹下的模板文件);$this->display('Public:error');//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块$this->display(其他主题下的 文件夹下的 模板文件);//需要开启主题支持$this->display('my:Index:index');三、模板中的赋值 (重点)四、模板替换 (重点)

3、模版的使用

User模块下的demo方法 ,模块放置的地方,

D:\wamp\www\thinkphp\Home\Lib\Action

ThinkPHP中的视图模型

ThinkPHP中的视图模型

4、模块显示$this->display();

让模版来显示内容

那模版放在哪里?

ThinkPHP中的视图模型

5、创建模版index要和方法public function index(){}相同

class UserAction extends Action

要和tpl下面的User同名,然后就是方法名index和其中的模版名index.html要相同

模版文件下Tpl/[分组文件夹]【模版主题】和模块名同名的文件夹Index/和方法名同名的文件index.html

ThinkPHP中的视图模型

6、模版的后缀名.html或者.tpl

更换模版文件的后缀名

需要修改配置文件

配置文件

ThinkPHP中的视图模型

7、//修改模版的后缀名

'TMPL_TEMPLATE_SUFFIX'=>'.html',

一般情况不要修改,默认为.html

更改模版的目录结构

'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次

8、c、模板主题'DEFAULT_THEME'=>'your',//设置默认模板主题需要在TPL下面新建一个your文件夹作为模板主题文件夹如何动态修改模板主题?1、在后台准备一个功能,修改config.php文件中的默认模板项2、通过url传递 t=主题 参数可以修改不同的模板'DEFAULT_THEME'=>'your',//设置默认模板主题'TMPL_DETECT_THEME'=>true,//自动侦测模板主题'THEME_LIST'=>'your,my',//支持的模板主题列表

ThinkPHP中的视图模型

ThinkPHP中的视图模型

ThinkPHP中的视图模型

9、//更改模版主题

//设置默认的主题

//'DEFAULT_THEME'=>'my',

//如果有多个主题

'DEFAULT_THEME'=>'your',

//动态的更改模版

'TMPL_DETECT_THEME'=>'true',

//自动侦测模板主题

'THEME_LIST'=>'your,my',

//支持的模板主题列表

ThinkPHP中的视图模型

10、输出模版中的内容

1) display中没有参数

$this->display();

2)可以带参数

$this->display(“模块下的其他模版”);

这里的模版名参数不要后缀名

ThinkPHP中的视图模型

ThinkPHP中的视图模型

ThinkPHP中的视图模型

ThinkPHP中的视图模型

ThinkPHP中的视图模型

ThinkPHP中的视图模型

11、输出模版中的内容小结:

二、输出模板内容 (重点)a、display1.display中没有参数$this->display();2.可以带参数$this->display(本模块文件夹下的其他模板文件);$this->display('index2');$this->display(其他文件夹下的模板文件);$this->display('Public:error');//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块$this->display(其他主题下的 文件夹下的 模板文件);//需要开启主题支持$this->display('my:Index:index');

在项目中可以用文件夹路径的形式来调用文件

比如说

项目的公共文件Public

ThinkPHP中的视图模型

ThinkPHP中的视图模型

12、放在项目的Public下

属于整个项目中,如何调用呢?

要用路径来调用

//调用项目中的公共文件不是放在模块下的模版文件中,而是放在项目的公共文件中

//用路径来调用

$this->display('./Public/error.html');

//当前项目中的Public下的error.html页面

ThinkPHP中的视图模型

13、这里的当前是指主入口文件index.php当前目录下

 display()的参数,第一个是模版,第二个是指定模版的编码utf-8,可以不写,模版的输出类型默认是html,可以改成tpl,xml

 $this->show();输出模版的内容,模版文件不存在,或者别的文件,无法转成html

可以用这个方式输出内容

 $this->show("这里是用show方法来输出内容。");

ThinkPHP中的视图模型

14、//通常我们会将内容放在一个变量中,有可能这个变量是从数据库中取出的

//$content="这是从数据库中取出的数据";

//fetch方法可以将一个模版文件返回给一个字符串

$content=$this->fetch('Public:error');

$this->show($content);

ThinkPHP中的视图模型

15、可以读取模版的内容,是一个字符串

//打印出这个字符串

dump($content);

ThinkPHP中的视图模型

16、//fetch方法可以将一个模版文件返回给一个字符串

$content=$this->fetch('Public:error');

//打印出这个字符串

//dump($content);

//当我们要替换一个字符串很方便

$content=str_replace("h1","h2",$content);

$this->show($content);

ThinkPHP中的视图模型

17、fetch方法,获得模版中的内容,以字符串的形式返回

//fetch方法可以将一个模版文件返回给一个字符串

$content=$this->fetch('Public:error');

//打印出这个字符串

//dump($content);

//当我们要替换一个字符串很方便

$content=str_replace("h1","h2",$content);

$this->show($content);

4)show()方法,不需要模版文件,可以向页面中输出内容

//fetch方法可以将一个模版文件返回给一个字符串

$content=$this->fetch('Public:error');

//打印出这个字符串

//dump($content);

//当我们要替换一个字符串很方便

$content=str_replace("h1","h2",$content);

$this->show($content);

ThinkPHP中的视图模型

ThinkPHP中的视图模型

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢