在构建网站时,导航栏的高亮显示是非常重要的用户体验优化。然而,默认情况下,DedeCMS 的导航标签并没有提供当前栏目高亮的功能(currentstyle仅支持顶级栏目高亮)。如果需要实现非顶级栏目高亮,我们需要采取一些额外的措施。
以下是实现 DedeCMS 当前栏目高亮(非顶级栏目高亮)的具体方法:
首先,进入后台设置:后台-系统-其它选项-模板引擎禁用标签,将“php”去掉。这一操作允许我们在模板中使用 PHP 代码。
接下来,在需要实现高亮的导航栏位置添加以下代码:
{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['id']);{/dede:php}
- HOME
首 页
{dede:channel type='top' row='7' }
- [field:alias/]
[field:typename/]
{/dede:channel}
上述代码实现了以下功能:
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' 的样式,以达到理想的视觉效果。
希望这篇文章对你有所帮助!如果你有任何问题或需要进一步的帮助,请随时留言。