美文网首页
fastadmin同控制器使用多布局模板文件

fastadmin同控制器使用多布局模板文件

作者: 7bff3560fa71 | 来源:发表于2021-01-25 16:09 被阅读0次

继承控制器Frontend中添加:

application/common/contorller/Frontend.php
  /**
     * 自定义模板
     * @var string
     */
    protected $layouts = [];
    public function _initialize(){
        // 如果有使用模板布局
        $this->layout = $this->setLayout();
        if ($this->layout) {
            $this->view->engine->layout('layout/' . $this->layout);
        }

    }
     //多模板匹配
    public function getLayout(){
        if (!is_array($this->layouts)||empty($this->layouts)){
            return $this->layout;
        }
        $request= Request::instance();
        $action = $request->action();
        foreach ($this->layouts as $k=>$v){
            if (in_array($action, $v)){
                return $k;
            }
        }
        return $this->layout;
    }

    //自定义加载模块
    public function setLayout(){
        if (!is_array($this->layouts)||empty($this->layouts)){
            return $this->layout;
        }
        $request= Request::instance();
        $action = $request->action();
        foreach ($this->layouts as $k=>$v){
            if (in_array($action, $v)){
                return $k;
            }
        }
        return $this->layout;
    }


自定义控制器(例):

application/index/contorller/User.php
class User extends Frontend{
    //设置默认模板,不需要则留空,仅加载自定义的模板
    protected $layout = 'default';
    //key:模板名称  value:对应使用该模板的所有方法名
    protected $layouts = ['a'=>['index'],'b'=>['profile','changepwd']];
}

相关文章

  • fastadmin同控制器使用多布局模板文件

    继承控制器Frontend中添加: application/common/contorller/Frontend....

  • 视图和模板

    视图和模板 [TOC] 控制器(在php文件)使用模板: VIew模板输出: 相应的html文件下使用name变量...

  • thinkphp5学习笔记(六)视图

    在控制器中使用视图的三种方法 模板引擎的配置 模板赋值的五种方法 视图渲染方法 模板输出替换 变量输出 模板布局和...

  • APP

    主程序 .APP布局文件 .fxml .html样式文件 .css控制器 .java 布局文件 水平布局 垂直布局...

  • laravel5.8无限极分类

    创建资源控制器 创建模型和迁移文件 修改迁移文件创建分类表 路由 控制器 模型 列表模板 添加模板

  • ThinkPHP 5:使用模板布局

    @20171106 - Day 9 1、ThinkPHP 5 模板布局:通过配置文件实现模板布局 1.1 开启配置...

  • SpringBoot使用thymeleaf模板引擎

    一、在pom.xml中导入thymeleaf 二、在控制器中传参到页面 三、在模板文件中使用

  • Yii2.0 视图模版继承与模版相互调用

    模板继承与模板之间的相互调用 在控制器中单独定义父模板 在views文件夹下layouts文件夹写一个home.p...

  • ThinkPHP5.0文件上传校验

    控制器app\index\controller\Upload.php 模板文件app\index\view\upl...

  • Django自定义模板函数

    模板函数是使用于模板文件的处理函数,模板函数的使用方式是{% 模板函数 %} 1. 创建自定义函数文件夹 想要使用...

网友评论

      本文标题:fastadmin同控制器使用多布局模板文件

      本文链接:https://www.haomeiwen.com/subject/mwcizktx.html