迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
在動態url、偽靜態、生成靜態,這三種url模式下,怎么拿到欄目列表頁的欄目id呢
動態url我知道通過
$c = \Phpcmf\Service::L('input')->get('c');
$id = \Phpcmf\Service::L('input')->get('id');
if ('category' == $c) {
echo '欄目id:'.$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']);
break;
找到了,支持三種模式
$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;
}
}
}
}
}
}
}
$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;
}
}
}
}
}
}
}