在构建网站时,导航栏的高亮显示是非常重要的用户体验优化。然而,默认情况下,DedeCMS 的导航标签并没有提供当前栏目高亮的功能(currentstyle仅支持顶级栏目高亮)。如果需要实现非顶级栏目高亮,我们需要采取一些额外的措施。

以下是实现 DedeCMS 当前栏目高亮(非顶级栏目高亮)的具体方法:

首先,进入后台设置:后台-系统-其它选项-模板引擎禁用标签,将“php”去掉。这一操作允许我们在模板中使用 PHP 代码。


接下来,在需要实现高亮的导航栏位置添加以下代码:


{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['id']);{/dede:php}


上述代码实现了以下功能:

1. {dede:php} $GLOBALS['thisid'] = intval($refObj->Fields['id']); {/dede:php}

这段代码的作用是获取当前栏目的 ID,并将其存储到全局变量$thisid 中。


2. [field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "class='thisclass' ";[/field:id]

这部分代码是对 dede:channel 标签运行 PHP 脚本。如果当前栏目的 ID 与循环中的栏目 ID 相等,则输出 class='thisclass'。你可以根据实际需求修改 'thisclass' 为其他样式类名。


通过以上步骤,你可以成功实现 DedeCMS 非顶级栏目的高亮显示功能。确保在模板中正确应用这些代码,并且在 CSS 文件中定义好 'thisclass' 的样式,以达到理想的视觉效果。

希望这篇文章对你有所帮助!如果你有任何问题或需要进一步的帮助,请随时留言。