Thinkphp5设置模板路径深度解析

默认的模板路径在模块/view文件里面。如果你觉得这样不太方便管理,想要把他设置Template目录下,可以这样做。

模板参数 ,能够影响的它参数,是当前模块下config.php template->view_path参数。

实际操作

一、配置共享参数

在apps/config.php设置一些参数,方便在Index或Admin模块下config.php调用。
apps/config.php,增加一些参数。

 

'template'               => [// 模板路径
        'view_path'    => 'template/',     // 就是这里
/**
     * 前台文件配置
     * Author: MR.zhou
     * */
    'index' => [
        // 模快名称
        'model_name' =>'index',
        // 默认模板文件名称
        'default_template' => 'default',       // 这里可以切换模块下的默认模板名称
    ],
    /**
     * 后台文件配置
     * Author: MR.zhou
     * */
    'admin'=>[
        // 模快名称
        'model_name' =>'admin',
        // 默认模板文件名称
        'default_template' =>'default',        // 这里可以切换模块下的默认模板名称
],

二、设置模板参数
index/config.php

 

 'template'               => [
    // 模板路径
    'view_path'    => config('template.view_path').config('index.model_name').'/'.config('index.default_template').'/',
],

admin/config.php

 [
        // 模板路径
        'view_path'    => config('template.view_path').config('admin.model_name').'/'.config('index.default_template').'/',
    ],
];

三、设置参数解析
以上呢是thinkPHP官网别人给出的配置参数,但是呢你是不是按照上面的配置不能正确显示页面呢?这里有几个误区大家要明白,首先在共享参数配置文件中的view_path =>'template/'其实就已经定义模板文件为template,而有些人只想前端定义模板路径,后台还是用默认的view的模板方式。但是这样一设置就把后台模板路径也定义进去了,对于这种问题,我们该如何解决呢?下面小编给出两种方面解决只定义前台模板路径而后台不定义

第一种:是不在共享配置文件中定义模板路径,而在index模块中定义模板路径,这样就与后台无关了

 

apps/index/config.php文件

'template'               => [
    // 模板路径
    'view_path'    => 'template/'.config('index.default_template').'/',
],

当然我共享配置文件中还是定义了index配置文件的,与template同级的,不是放到template里面

apps/config.php文件
/**
     * 前台文件配置
     * Author: MR.zhou
     * */
    'index' => [
        // 模快名称
        'model_name' =>'index',
        // 默认模板文件名称
        'default_template' => 'default',       // 这里可以切换模块下的默认模板名称
    ],

第二种:是在共享配置文件中定义模板路径为template,而在index模块中定义模板路径,后台重新定义view_path =>''

 

apps/config.php文件
/**
     * 前台文件配置
     * Author: MR.zhou
     * */
    'index' => [
        // 模快名称
        'model_name' =>'index',
        // 默认模板文件名称
        'default_template' => 'default',       // 这里可以切换模块下的默认模板名称
    ],
    
    'template'               => [// 模板路径
        'view_path'    => 'template/',     // 就是这里

当前后台配置文件分别如下所示

apps/index/config.php文件
'template'               => [
    // 模板路径
    'view_path'    => config('template.view_path').config('index.model_name').'/'.config('index.default_template').'/',
],

apps/admin/config.php文件
'template'               => [
    // 模板路径
    'view_path'  => '',
],

你可能感兴趣的:(PHP)