业务经理

微信扫描以上二维码

028-61286886

技术咨询

Url路由中没有s参数显示指定模块,模块的控制器方法如何

迅睿框架 更新 2025-03-01 18:49:14 姜不辣

创建有news video 两种内容模块,都是用的共享目录。

微信截图_20250301141952

/index.php?c=category&id=1 、 /index.php?c=category&id=4 这是2个分类的链接,我想定义两个不同的栏目封面页。

因此修改 /App/news/Controllers/Categorys.php ,但是发现修改这个控制器根本没反应。

微信截图_20250301142609

只有强制加上 /index.php?c=category&id=4&s=video 一个s=video才能进到这里。


那么问题来了,生成的栏目菜单中默认不带 s=video 的。我该如何 修改这个 不同模块的Category控制器呢,以便加入不同的处理。



方案

  • 外聘专员-小波工作室 #1 · 2025-03-01 16:42:05
    共享模块,不会进 /App/news/Controllers/Category.php,他进的是Fcms/Control/Category.php ,注意这个文件不能去修改
  • 姜不辣 #2 · 2025-03-01 18:48:28
    满意答案

    自己来回答了:


    如果是独立模块:/dayrui/App/News/Controllers/Category.php,/dayrui/App/News/Controllers/Show.php 可以修改,生效。


    如果是共享模块:/dayrui/Fcms/Controllers/Category.php,/dayrui/Fcms/Controllers/Show.php 这两个文件头部写了是不能修改的,需要用共享模块的 /config/hooks.php 钩子来改,可以不破坏核心程序。

    参考文档:《共享模块内容加载之前module_show_share》https://www.xunruicms.com/doc/1188.html 这个钩子是加载之前,之前,就是还不知道他是news还是shop了,你应该是要找加载之后的钩子才对

    参考文档:《模块内容页面加载前module_show》https://www.xunruicms.com/doc/1376.html 可以用这个,这个是内容加载之后,页面加载之前运行,这个钩子里面就可以知道他是news还是shop



  • 姜不辣 #3 · 2025-03-01 18:49:14
    @姜不辣:从论坛找到的答案,综合了一下,方便后来者参考!

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...