我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

可能是由于历史原因,thinkcmf的后台管理模块中的请求,url地址是以portal开头的。而我们知道:从模块划分角度上来说,/admin/是后台管理模块,/portal/是前台展示模块。当苏南大叔试图对不同的模块,使用不同的域名后,就发现:在某些情况下,一部分后台功能不能使用了。这是个悲伤的故事,不是么?let's fix it. 还是要坚信:太阳光会暖暖地照射在你的小PP上的,对吧?

前言

本文的前置阅读内容是:《thinkcmf高级应用之多模块自定义域名及入口文件》https://newsn.net/say/thinkcmf-module-domain.html 。请认真阅读这篇前置文章,本文描述的是第一种方案的后续事项。

话说,在不同域名下,自定义不同入口文件的时候,对于后台的nginx设置,如果拦截/portal/开头的url请求的话,会导致后台的一部分功能不能使用。

server{
    # ...
    location ^~ /portal/ {
         rewrite ^(.*)$  http://<pc站的域名>/$1 permanent;
    }
    # ...
}

下面是可能的问题截图:

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_00
thinkcmf高级应用之分离前台及管理模块(图10-1)

出问题的范围是:后台管理的"门户管理"的几个小分类功能。比如"文章管理、分类管理、页面管理"等等。

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_file
thinkcmf高级应用之分离前台及管理模块(图10-2)

修复之移动皮肤模板

/themes/admin/portal/下的所有html文件,移动到/themes/admin/admin/下面。

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_01
thinkcmf高级应用之分离前台及管理模块(图10-3)

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_02
thinkcmf高级应用之分离前台及管理模块(图10-4)

修复之移动controller文件

如果,上述几个模板文件的位置,还是能接受的话,这几个功能对应的controller文件位置是不能接受。标准版本的位置是:/app/portal/controller/,需要把这几个admin*Controller.php文件移动到文件夹/app/admin/controller/下面。

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_03
thinkcmf高级应用之分离前台及管理模块(图10-5)

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_04
thinkcmf高级应用之分离前台及管理模块(图10-6)

修复之修改命名空间

这几个admin*Controller.php文件移动到新的位置后,需要修改命名空间。原来的命名空间是:

namespace app\portal\controller;

苏南大叔把它修改为:

namespace app\admin\controller;

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_05
thinkcmf高级应用之分离前台及管理模块(图10-7)

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_06
thinkcmf高级应用之分离前台及管理模块(图10-8)

修复之修复后台菜单

这一步操作,其实就是修改后台的菜单链接,苏南大叔直接修改的是数据库里面的数据。数据表是:<prefix>_admin_menu,执行的sql语句如下:

update cmf_admin_menu set app='admin' where app='portal'

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_07
thinkcmf高级应用之分离前台及管理模块(图10-9)

清除runtime缓存

最后一步,清除服务器缓存。嘿嘿,不解释,直接删除runtime文件夹。

苏南大叔:thinkcmf高级应用之分离前台及管理模块 - admin_fix_08
thinkcmf高级应用之分离前台及管理模块(图10-10)

关联文章

结论

上述N步骤设置后,就可以从nginx层面,完全把adminportal这两个模块分开了。愉快的使用不同的域名访问不同的模块吧。nginx设置,还可以根据url进行拦截跳转了。本文的内容加上上一篇文章中的第二个方案,放在一起,就是完美的方案了。

更多苏南大叔带来的thinkcmf的经验文章,请点击这里查看。https://newsn.net/tag/thinkcmf/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   php    theme