今天发现,禁止搜索隐藏栏目内容后,发现,高级搜索里仍有隐藏栏目版块,经测试,找到解决办法如下:
一、找到并打开heightsearch.htm模板(templates\plus\下),在第34行,找到$typeOptions = $tl->GetOptionArray(0,0,0);将其改为$typeOptions = $tl->GetOptionArray(0,0,1);
解释如下:第三个参数表示栏目类型(即文章集),改为1表示文章集类栏目,0表示所有频道
二、找到并打开include\typelink.class.php,在第223行 $row = $this->dsql->GetOne("SELECT id,typename,ispart,channeltype FROM dede_arctype WHERE id=‘$hid‘ ");改为:
$row = $this->dsql->GetOne("SELECT id,typename,ispart,channeltype FROM dede_arctype WHERE id=‘$hid‘ and ishidden=‘0‘ ");
第234行else $ctsql=" AND channeltype=‘$channeltype‘ ";改为
else $ctsql=" AND channeltype=‘$channeltype‘ and ishidden=‘0‘ ";
即两行增加and ishidden=‘0‘
ishidden=‘0‘表示非栏目。
完成以上两步,高级搜索中栏目,便不会出现隐藏栏目,
关于如何禁止列表导航栏目调用隐藏栏目的方法及禁用搜索隐藏栏目内容的方法,以后再谈吧。
测试版本为5.7。
原文地址:http://www.genban.org/news/dedecms-6951.html