织梦DedeCMS当二级栏目为空时,不显示同级栏目的修改方法
1. 问题背景
在织梦DedeCMS中,当某个二级栏目为空时,默认情况下,该二级栏目下的同级栏目(即同一父级的一级栏目)也会显示出来,这可能不符合某些网站的设计需求,因此需要修改系统行为以实现当二级栏目为空时不显示同级栏目。
2. 修改步骤
步骤一:备份文件
在修改之前,请确保备份以下文件,以防万一修改出错可以恢复。
include/arcview.class.php
模型视图类文件)
步骤二:打开文件
使用文本编辑器打开include/arcview.class.php
文件。
步骤三:查找关键代码
在文件中查找以下代码段:
// 检查是否有子栏目 if($arrchildid) { $nbsp = $cfg_arcmid == 1 ? ' ' : ' '; $childlist = '<ul class="subnav">'; $childlist .= $nbsp . '<li><a href="' . $arrchildid[0] . '">' . $arrchildid[1] . '</a></li>'; for($i=1;$i<count($arrchildid)1;$i++) { $childlist .= $nbsp . '<li><a href="' . $arrchildid[$i] . '">' . $arrchildid[$i+1] . '</a></li>'; } $childlist .= '</ul>'; $childlist .= '<div class="clear"></div>'; $info = str_replace($row['litid'], $childlist, $info); }
步骤四:修改代码
将上述代码中的if($arrchildid)
条件判断部分修改为以下内容:
// 检查是否有子栏目,且子栏目不为空 if($arrchildid && $arrchildid[2] == '0') { $nbsp = $cfg_arcmid == 1 ? ' ' : ' '; $childlist = '<ul class="subnav">'; $childlist .= $nbsp . '<li><a href="' . $arrchildid[0] . '">' . $arrchildid[1] . '</a></li>'; for($i=1;$i<count($arrchildid)1;$i++) { $childlist .= $nbsp . '<li><a href="' . $arrchildid[$i] . '">' . $arrchildid[$i+1] . '</a></li>'; } $childlist .= '</ul>'; $childlist .= '<div class="clear"></div>'; $info = str_replace($row['litid'], $childlist, $info); }
这里的$arrchildid[2] == '0'
判断是为了确保二级栏目下至少有一条数据。
步骤五:保存文件
修改完成后,保存include/arcview.class.php
文件。
3. 验证修改
访问网站,检查二级栏目为空时是否正确地不显示同级栏目。
4. 注意事项
确保备份文件在需要时可以恢复。
修改代码前请仔细阅读和理解,避免误操作。
如果修改后出现问题,请及时恢复备份文件。
通过以上步骤,您可以实现在织梦DedeCMS中当二级栏目为空时不显示同级栏目的功能。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。