thinkphp 中视图模型怎么实现

 我来答
h787966989ae17a
2016-09-02 · TA获得超过367个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:49.2万
展开全部
模板的使用 (重点)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'=>'_',//修改模板文件目录层次
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中的视图模型
//更改模版主题
//设置默认的主题
//'DEFAULT_THEME'=>'my',
//如果有多个主题
'DEFAULT_THEME'=>'your',
//动态的更改模版
'TMPL_DETECT_THEME'=>'true',
//自动侦测模板主题
'THEME_LIST'=>'your,my',
//支持的模板主题列表
ThinkPHP中的视图模型
输出模版中的内容
1) display中没有参数
$this->display();
2)可以带参数
$this->display(“模块下的其他模版”);
这里的模版名参数不要后缀名
ThinkPHP中的视图模型
ThinkPHP中的视图模型
ThinkPHP中的视图模型
ThinkPHP中的视图模型
ThinkPHP中的视图模型
ThinkPHP中的视图模型
输出模版中的内容小结:
二、输出模板内容 (重点)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中的视图模型
放在项目的Public下
属于整个项目中,如何调用呢?
要用路径来调用
//调用项目中的公共文件不是放在模块下的模版文件中,而是放在项目的公共文件中
//用路径来调用
$this->display('./Public/error.html');
//当前项目中的Public下的error.html页面
ThinkPHP中的视图模型
这里的当前是指主入口文件index.php当前目录下
display()的参数,第一个是模版,第二个是指定模版的编码utf-8,可以不写,模版的输出类型默认是html,可以改成tpl,xml
$this->show();输出模版的内容,模版文件不存在,或者别的文件,无法转成html
可以用这个方式输出内容
$this->show("这里是用show方法来输出内容。");
ThinkPHP中的视图模型
//通常我们会将内容放在一个变量中,有可能这个变量是从数据库中取出的
//$content="这是从数据库中取出的数据";
//fetch方法可以将一个模版文件返回给一个字符串
$content=$this->fetch('Public:error');
$this->show($content);
ThinkPHP中的视图模型
可以读取模版的内容,是一个字符串
//打印出这个字符串
dump($content);
ThinkPHP中的视图模型
//fetch方法可以将一个模版文件返回给一个字符串
$content=$this->fetch('Public:error');
//打印出这个字符串
//dump($content);
//当我们要替换一个字符串很方便
$content=str_replace("h1","h2",$content);

$this->show($content);
ThinkPHP中的视图模型
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);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式