联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
伪静态url的栏目列表页,在插件里怎么拿到栏目id
类型:迅睿CMS 更新时间: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
    Chrome 0
    $dir = \Phpcmf\Service::L('input')->get('dir');
  • 迈克工作室
    #2楼    迈克工作室
    2023-06-07 09:15:51
    小米手机 0
    找到了,支持三种模式$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
    Chrome 0
    $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
    Chrome 0
    @迈克工作室:在后台发布编辑栏目控制器里找到