开启辅助访问
帐号登录 |立即注册

Thinkphp5中实现全局模板布局的3种方法

 
使用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();
}
}



回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。