当前位置:网站首页 >  百科

PHPCMS站点当前栏目高亮效果自定义修改零门槛实操详细步骤指南

时间:2026年05月23日 15:37:46 来源:易频IT社区

前置准备

操作前请确认你已获取以下权限和资源,避免操作卡壳:

  • 站点使用PHPCMS V9版本(本教程兼容V9全版本)
  • 服务器FTP/文件管理器权限,或PHPCMS后台模板编辑权限
  • 提前备份要修改的模板文件:头部模板默认路径为/phpcms/templates/你的模板名/header.html,样式文件默认路径为/phpcms/templates/你的模板名/css/style.css

方法一:调用系统原生currentclass字段(最简方案)

PHPCMS原生封装了当前栏目高亮的字段,无需修改逻辑,直接调用即可快速实现效果,适合90%以上的常规站点场景。

步骤1:修改头部导航调用代码

打开头部模板文件,找到默认的栏目循环调用代码,一般格式如下:

``` {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"} {/pc} ```

将li标签的class属性绑定原生currentclass字段,修改后的完整代码如下:

``` {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"} {/pc} ```

步骤2:添加高亮样式规则

打开模板对应的样式文件,添加如下高亮样式,可根据站点风格自定义颜色、字体等属性:

``` / 导航当前栏目高亮样式 / .nav .current a{ color: ff4400; / 高亮文字颜色,可替换为站点主题色 / font-weight: 700; / 文字加粗,不需要可删除该行 / border-bottom: 2px solid ff4400; / 底部下划线,不需要可删除该行 / } ```

注意:原生currentclass字段默认支持子栏目继承高亮,打开子栏目时父栏目会自动添加current类,无需额外配置。

方法二:自定义catid判断实现(适配个性化规则)

如果原生逻辑不符合需求,比如需要指定特定栏目高亮、自定义高亮触发条件,可以采用手动判断catid的方案,灵活性更高。

步骤1:确认全局catid变量

PHPCMS全局已封装当前页面的栏目ID变量$catid,栏目页、列表页、内容页会自动赋值,首页的$catid默认值为0,无需额外定义。

步骤2:修改导航判断逻辑

将头部导航的循环代码替换为如下格式,手动匹配当前栏目ID和循环的栏目ID,匹配成功则添加active高亮类:

``` {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"} {/pc} ```

PHPCMS站点当前栏目高亮效果自定义修改零门槛实操详细步骤指南

代码说明:$arrparentid是PHPCMS全局自带的当前栏目所有父级ID数组,添加该判断可实现子栏目打开时父栏目自动高亮,不需要父栏目继承高亮可删除|| in_array($r[catid], $arrparentid)部分。

步骤3:添加active类样式

在样式文件中添加对应高亮规则,示例如下:

``` .nav .active a{ color: 1677ff; background-color: f0f7ff; border-radius: 4px; } ```

特殊场景适配方案

1. 首页导航高亮

如果需要首页打开时“首页”导航项高亮,将首页导航项单独添加判断即可,代码如下:

```
  • 首页
  • ```

    2. 自定义单页高亮

    绑定了栏目ID的单页可自动适配上述逻辑,如果是完全独立的自定义页面,可在页面顶部手动赋值当前页面对应的高亮栏目ID:

    ``` {php $catid = 15;} / 15替换为你要对应高亮的栏目ID / ```

    3. 内容页对应栏目高亮

    PHPCMS内容页默认已将$catid赋值为当前内容所属的栏目ID,上述两种方法均自动支持内容页高亮,若不生效可检查内容页模板是否引入了头部模板、$catid是否被其他代码覆盖。

    常见问题排查

    • 修改后无效果?

      首先进入PHPCMS后台,点击右上角“更新缓存”,再清除浏览器缓存后刷新;若仍不生效,检查后台“站点管理”中当前站点使用的模板名称,确认修改的是正在启用的模板文件。

    • 子栏目打开时父栏目不高亮?

      方法一原生支持父栏目高亮,方法二需确保判断条件中添加了$arrparentid相关逻辑;若仍不生效,可在头部模板顶部添加一行{php $arrparentid = get_parentid($catid);}手动赋值父级ID数组。

    • 多个导航组需要不同高亮样式?

      给不同导航的ul标签设置不同的class属性,比如头部导航用.nav-header,侧边栏导航用.nav-sidebar,分别编写对应的css样式规则即可。

    所有代码均可直接复制使用,仅需根据自身站点的设计风格调整样式参数即可快速落地效果。

    相关推荐

    最新

    热门

    推荐

    精选

    标签

    易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

    Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图