聯(lián)系官方銷售客服
1835022288
028-61286886
在動態(tài)url、偽靜態(tài)、生成靜態(tài),這三種url模式下,怎么拿到欄目列表頁的欄目id呢
動態(tài)url我知道通過
$c = \Phpcmf\Service::L('input')->get('c');
$id = \Phpcmf\Service::L('input')->get('id');
if ('category' == $c) {
echo '欄目id:'.$id;
}
其他兩個模式該怎么拿到呢
找到了,支持三種模式
$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;
}
}
}
}
}
}
}