使用CONFIG配置文件操作全局模板
一、开启全局配置
修改当前的应用配置文件config.php,加入
// 全局模板的配置
'tempalte'=>[
//开启模板布局
'layout_on' => false,
//设置布局模板文件名称
'layout_name' => 'layout',
//设置布局模板中的替换字符串,默认{__CONTENT__}
'layout_item' => '',
],
二、view目录建立公共模板文件夹base
在view/base下建立head.html和foot.html分别存放头部和尾部的HTML代码。
三、view目录下建立全局模板文件 layout.html,内容如下:
{include file= ' base/header' /}
{__CONTENT__}
{include file= ' base/ footer' /}|
四、建立index方法指定的index.html模板,其中index.html内容如下:
<p> index控制器index操作模板文件</p>
//index.html的内容将替代全局模板layout.html中的{__CONTENT__}
五、Index控制器渲染指定的index.html模板。
<?php
namespace app\ index\controller;
class Index extends \ think\Controller
{
public function index( )
{
return $this -> fetch();
}
}
模板里配置
1、必须关闭模板布局全局配置:防止布局循环;
2、在view目录下创建自定义布局文件;
3、在模板中使用:
{layout name="layout/newlayout" replace="[__ REPL ACE_ ]" 1}
导入布局文件内容。
修改Index控制器渲染指定的index.html模板。使用layout模板标签导入全局模板,内容如下:
{layout name="layout" /}
//可加入第二个参数,为需要替换的字符串。
<p> index控制器index操作模板文件</p>
在控制器中配置
使用view对象中的engin方法在控制器里配置
$this -> view- > engine -> layout(参数);
true:采用默认布,局模板:layout.html
false:临时关闭当前模板布局功能
文件名:用户自定义布局模板名称,//如采用自定义模板可以使用$this->view->engine-> layout('mylayout');
<?php
namespace app\ index\ controller;
class Index extends \ think\Controller
{
public function index( )
{
$this->view->engine-> layout(true);
return $this -> fetch();
}
public function user ( )
{
return $this -> fetch();
}
}
|