操作前请确认你已获取以下权限和资源,避免操作卡壳:
/phpcms/templates/你的模板名/header.html,样式文件默认路径为/phpcms/templates/你的模板名/css/style.cssPHPCMS原生封装了当前栏目高亮的字段,无需修改逻辑,直接调用即可快速实现效果,适合90%以上的常规站点场景。
打开头部模板文件,找到默认的栏目循环调用代码,一般格式如下:
``` {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} ```打开模板对应的样式文件,添加如下高亮样式,可根据站点风格自定义颜色、字体等属性:
``` / 导航当前栏目高亮样式 / .nav .current a{ color: ff4400; / 高亮文字颜色,可替换为站点主题色 / font-weight: 700; / 文字加粗,不需要可删除该行 / border-bottom: 2px solid ff4400; / 底部下划线,不需要可删除该行 / } ```注意:原生currentclass字段默认支持子栏目继承高亮,打开子栏目时父栏目会自动添加current类,无需额外配置。
如果原生逻辑不符合需求,比如需要指定特定栏目高亮、自定义高亮触发条件,可以采用手动判断catid的方案,灵活性更高。
PHPCMS全局已封装当前页面的栏目ID变量$catid,栏目页、列表页、内容页会自动赋值,首页的$catid默认值为0,无需额外定义。
将头部导航的循环代码替换为如下格式,手动匹配当前栏目ID和循环的栏目ID,匹配成功则添加active高亮类:
``` {pc:content action="category" catid="0" num="10" siteid="$siteid" order="listorder ASC"} {/pc} ```
代码说明:$arrparentid是PHPCMS全局自带的当前栏目所有父级ID数组,添加该判断可实现子栏目打开时父栏目自动高亮,不需要父栏目继承高亮可删除|| in_array($r[catid], $arrparentid)部分。
在样式文件中添加对应高亮规则,示例如下:
``` .nav .active a{ color: 1677ff; background-color: f0f7ff; border-radius: 4px; } ```如果需要首页打开时“首页”导航项高亮,将首页导航项单独添加判断即可,代码如下:
```绑定了栏目ID的单页可自动适配上述逻辑,如果是完全独立的自定义页面,可在页面顶部手动赋值当前页面对应的高亮栏目ID:
``` {php $catid = 15;} / 15替换为你要对应高亮的栏目ID / ```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号 网站地图