### 方法一:修改核心文件 首先,我们需要打开 Dedecms 的核心文件 `include\\\\taglib\\\\channel.lib.php`。
找到以下代码片段:
if($type=='son' && $reid!=0 && $totalRow==0)
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
{dede:channel type='son' row='5' noself='yes'}
{dede:channelartlist typeid='10'}
- {dede:field name='typename'/}
{dede:channel type='son' noself='yes'}
- [field:typename/]
{/dede:channel}
{/dede:channelartlist}
### 方法二:注释掉相关代码 另一种更为直接的方法是直接注释掉 `include\\\\taglib\\\\channel.lib.php` 文件中的相关代码。具体步骤如下:
1. 打开文件 `include\\\\taglib\\\\channel.lib.php`。
2. 找到第 110 行左右的代码块,并将其注释掉。示例代码如下:
// if($type == 'sun' && $reid != 0 && $totalRow == 0) {
// $sql = "SELECT id, typename, typedir, isdefault, ispart, defaultname, namerule2, moresite, siteurl, sitepath
// FROM `dede_arctype` WHERE reid='$typeid' AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, $line ";
// }
### 总结 通过以上两种方法,我们可以有效解决 Dedecms 中 `{dede:channel}` 标签在无子栏目时不显示同级栏目的问题。第一种方法适合对代码有一定了解的用户,而第二种方法则更加简单直接,适合新手快速上手。无论选择哪种方法,请务必备份好原始文件,以免出现意外情况导致数据丢失。希望本文能帮助大家更好地优化 Dedecms 网站的功能与体验!