本文档侧重实战操作,具体理论、细节可以参看官方手册 《ThinkPHP5.1完全开发手册》

所有项目源码都在Github仓库,代码按天创建分支

本系列文档系黑鱼原创,未经授权,请勿转载!

第二天:动态切换皮肤
黑鱼
发布日期: 2018-11-29 23:48:52
{{ fav.hits}} / {{ fav.ispage}}

当MVC开发模式被应用,经过初时的赞叹后,是不是又感觉缺了点什么?

没错,我们不再满足于预设的模板,无缝切换皮肤模板似乎更加有意思……


一、修改template文件

 'view_base' => Env::get('ROOT_PATH').'template'.DS.'views'.DS,
//改为
 'view_base' => Env::get('ROOT_PATH').'template'.DS.'__THEME_NAME__'.DS,


1.png


二、在目录 behavior 下创建行为 Test

namespace appindexbehavior;
use thinkfacadeView;

class Test 
{
    public function run($params) {
        $view_base = config('template.view_base');
        $view_base = str_replace("__THEME_NAME__", "view", $view_base); //替换主题名称
        View :: config('view_base', $view_base);//完成配置修改
    }
}

1.png


三、在应用开始前绑定Test行为,实现主题切换

  'app_begin'    => ['appindexbehaviorTest',],

1.png

这里 app_begin、module_init 绑定都可以实现功能,个人还是觉得应该尽提一点


四、修改模板

1.jpg


执行结果如下

1.png

结束语:

可以尝试一下修改相关参数,会有什么样的结果。

相关评论 文明上网,理性发言

发布评论

支持作者

  • 感谢您的支持,您的捐赠将用于:
      1、《沉语多语言集群系统》的进一步开发
      2、本站服务器等软硬件的费用支出
      3、ThinkPHP5.1教程的编写
      4、《沉语多语言集群系统》向TP5.1的升级工作