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

可能是由于历史原因,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/

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

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/thinkcmf-module-clean.html
上一篇好文:thinkcmf高级应用之多模块自定义域名及入口文件
下一篇好文:thinkcmf高级应用之自定义模板位置

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~