首先,我们需要对 Dedecms 的核心文件进行修改。以下是具体步骤:
### 第一步:修改 channelartlist.lib.php 文件 打开 `\\include\\taglib\\channelartlist.lib.php` 文件,找到以下代码:
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
if($type=='son') {
$typeid = ( !empty($refObj->TypeLink->TypeInfos['id']) ? GetTopid($refObj->TypeLink->TypeInfos['id']) : 0 );
$tpsql = " reid='$typeid' AND ishidden<>1 ";
} else {
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}
### 第二步:修改 channel.lib.php 文件 接着,打开 `\\include\\taglib\\channel.lib.php` 文件,找到以下代码:
if($type=='son' && $reid!=0 && $totalRow==0)
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
### 第三步:后台设置模板引擎禁用标签 登录到后台管理系统,依次点击“系统” -> “其它选项”,找到“模板引擎禁用标签”选项,将其中的 `php` 标签去掉。这样可以确保自定义的 PHP 代码能够正常运行。
### 第四步:添加调用代码 最后,在需要展示栏目的页面中,添加以下代码:
{dede:php}
$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);
$GLOBALS['reid'] = intval($refObj->Fields['reid']);
$GLOBALS['topid'] = intval($refObj->Fields['topid']);
{/dede:php}
{dede:channelartlist type=son}
- {dede:field.typename/}
{/dede:channelartlist}
以上步骤完成后,您的企业站就能够成功调用二三级栏目,并且当前栏目会自动高亮显示。这种方法不仅实用,而且易于维护,非常适合需要多级导航的企业网站。 希望这篇教程能帮助您更高效地完成网站开发任务!