业务经理

微信扫描以上二维码

028-61286886

技术咨询

伪静态url的栏目列表页,在插件里怎么拿到栏目id

迅睿框架 更新 2023-06-07 20:57:13 迈克工作室

在动态url、伪静态、生成静态,这三种url模式下,怎么拿到栏目列表页的栏目id呢

动态url我知道通过

$c = \Phpcmf\Service::L('input')->get('c');

$id = \Phpcmf\Service::L('input')->get('id');

if ('category' == $c) {

    echo '栏目id:'.$id;

}

其他两个模式该怎么拿到呢

方案

  • 小波工作室 #1 · 2023-06-07 08:58:38
    $dir = \Phpcmf\Service::L('input')->get('dir');
  • 迈克工作室 #2 · 2023-06-07 09:15:51
    找到了,支持三种模式$id = \Phpcmf\Service::L('input')->get('id');$dir = dr_safe_replace(\Phpcmf\Service::L('input')->get('dir'));if ($dir) { $module = \Phpcmf\Service::L('cache')->get('module-'.SITE_ID.'-share'); $id = intval($module['category_dir'][$dir]); $cat = $module['category'][$id]; if (!$cat) { if (isset($module['category_dir'][$dir])) { $id = (int)$module['category_dir'][$dir]; } else { // 无法通过目录找到栏目时,尝试多及目录 foreach ($module['category'] as $t) { if ($t['setting']['urlrule']) { $rule = \Phpcmf\Service::L('cache')->get('urlrule', $t['setting']['urlrule']); $rule['value']['catjoin'] = '/'; if ($rule['value']['catjoin'] && strpos($dir, $rule['value']['catjoin'])) { $dir = trim(strchr($dir, $rule['value']['catjoin']), $rule['value']['catjoin']); if (isset($module['category_dir'][$dir])) { $id = (int)$module['category_dir'][$dir]; break; } } } } } }}
  • 迈克工作室 #3 · 2023-06-07 20:56:36
    满意答案
    $id = \Phpcmf\Service::L('input')->get('id');$dir = dr_safe_replace(\Phpcmf\Service::L('input')->get('dir'));if ($dir) { $module = \Phpcmf\Service::L('cache')->get('module-'.SITE_ID.'-share'); $id = intval($module['category_dir'][$dir]); $cat = $module['category'][$id]; if (!$cat) { if (isset($module['category_dir'][$dir])) { $id = (int)$module['category_dir'][$dir]; } else { // 无法通过目录找到栏目时,尝试多及目录 foreach ($module['category'] as $t) { if ($t['setting']['urlrule']) { $rule = \Phpcmf\Service::L('cache')->get('urlrule', $t['setting']['urlrule']); $rule['value']['catjoin'] = '/'; if ($rule['value']['catjoin'] && strpos($dir, $rule['value']['catjoin'])) { $dir = trim(strchr($dir, $rule['value']['catjoin']), $rule['value']['catjoin']); if (isset($module['category_dir'][$dir])) { $id = (int)$module['category_dir'][$dir]; break; } } } } } }}
  • 迈克工作室 #4 · 2023-06-07 20:57:13
    @迈克工作室:在后台发布编辑栏目控制器里找到

迅睿系统漏洞

GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(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)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...