使用 $GLOBALS['navclassid'] 可在任意模板获取当前栏目ID,适用于列表页、内容页及首页;2. 在列表或内容页中直接使用 $navclassid 需启用“使用程序代码”;3. 通过SQL查询可获取栏目更多字段信息。

在帝国CMS模板中获取当前栏目的ID号,是调用栏目数据、制作导航或条件判断时的常用操作。以下是几种常见的获取当前栏目ID的方法,适用于不同的模板场景。
1. 在列表页和内容页直接使用变量
帝国CMS在列表模板(list.var)和内容模板(.d)中提供了内置变量来直接获取当前栏目ID:
- $GLOBALS['navclassid']:这是最常用的方式,可在任意模板(包括首页、列表页、内容页)中使用,返回当前栏目的ID。
- $navclassid:在列表页或内容页的PHP代码中可以直接使用这个变量(需开启“使用程序代码”)。
示例:在列表模板中启用“使用程序代码”,然后写入PHP代码:
2. 在首页或其他非栏目页中获取
首页默认没有栏目ID,但如果进入的是某个栏目下的列表页,仍可通过 $GLOBALS['navclassid'] 获取。如果是在首页模板中想判断是否在某个栏目下,需结合其他条件。
通常首页不会自动有 navclassid,但你可以在动态调用时通过GET参数等方式传递,或在特殊条件下使用SQL查询判断。
3. 使用SQL查询获取栏目信息
当你需要根据栏目ID获取更多字段(如栏目名称、别名、图片等),可以结合数据库查询:
fetch1("select * from {$dbtbpre}enewsclass where classid='$cid'");
echo $classr['classname']; // 输出栏目名称
?>确保模板支持PHP代码(在模板修改页面勾选“使用程序代码”)。
4. 灵活应用于模板标签中
你可以将获取到的栏目ID用于动态调用信息、控制样式、或作为判断条件:
- 根据栏目ID显示不同的头部图片或CSS类。
- 调用当前栏目下的子栏目或特定信息。
- 在面包屑导航中高亮当前栏目。
例如:
这里是栏目5专属横幅










