DedeCMS是一款功能强大的内容管理系统,但在默认设置中,导航栏目的高亮显示仅支持顶级栏目。如果需要实现当前栏目的高亮(包括非顶级栏目),则需要进行一些自定义调整。以下是一个详细的解决方案,帮助您实现这一功能。
解决方法如下:
首先,进入DedeCMS后台,依次点击“系统” -> “其他选项” -> “模板引擎禁用标签”,将其中的“php”标签去掉。这一步是为了确保我们可以在模板中使用PHP代码。
接下来,在需要实现高亮效果的地方添加以下代码:

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

    

此外,也可以使用以下代码来实现更复杂的导航结构:

{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);{/dede:php} {dede:channelartlist typeid='1,2' currentstyle='thisclass'}

{dede:field name='typename'/}

{dede:channel type='son'}
[field:typename/]
{/dede:channel}
{/dede:channelartlist}

以下是代码的具体说明:
1. 使用 `{dede:php}` 标签获取当前栏目的ID,并将其存储到全局变量 `$GLOBALS['thisid']` 中。

{dede:php} $GLOBALS['thisid'] = intval($refObj->Fields['typeid']); {/dede:php}
       
2. 在 `[field:id runphp='yes']` 中运行PHP代码,判断当前栏目的ID是否与 `$GLOBALS['thisid']` 相等。如果相等,则输出 `class='thisclass'`。这样可以为当前栏目添加特定的CSS类名,从而实现高亮效果。 通过以上步骤,您可以轻松实现DedeCMS中当前栏目的高亮显示,无论是顶级栏目还是子栏目都可以正常工作。希望这些方法对您有所帮助!