织梦搜索指定多个栏目的文档

Posted dedevip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了织梦搜索指定多个栏目的文档相关的知识,希望对你有一定的参考价值。

织梦默认的搜索可以搜索全部栏目或者指定的搜索某一个栏目,不能搜索指定的多个栏目,需要加装修改才能实现。

1、在搜索框表单里加个typeid提交过去

例如

<form name="formsearch" action="/plus/search.php">
<input type="hidden" name="typeid" value="1,2,3">


</form>

2、打开/plus/search.php找到

$typeid = (isset($typeid) && is_numeric($typeid)) ? $typeid : 0;

删除这一行后,继续找到

$typeid = intval($typeid);

也删除这一行

3、打开 /include/arc.searchview.class.php 找到

$ksqls[] = " typeid IN (".GetSonIds($this->TypeID).") ";

改成

//指定了多个栏目时
if( preg_match(‘#,#‘, $this->TypeID) )
{
    $typeids = explode(‘,‘, $this->TypeID);
    foreach($typeids as $ttid) {
        $typeidss[] = GetSonIds($ttid);
    }
    $typeidStr = join(‘,‘, $typeidss);
    $typeidss = explode(‘,‘, $typeidStr);
    $typeidssok = array_unique($typeidss);
    $typeid = join(‘,‘, $typeidssok);
    $ksqls[] = " arc.typeid IN ($typeid) ";
}
else
{
    $ksqls[] = " arc.typeid IN (".GetSonIds($this->TypeID).") ";
}

完成,这样就可以搜索指定的多个栏目的文章了。

以上是关于织梦搜索指定多个栏目的文档的主要内容,如果未能解决你的问题,请参考以下文章

织梦多个栏目arclist调用副栏目不显示的解决办法

织梦设置栏目列表排序方式

织梦二次开发增加一个或多个栏目的栏目内容

织梦栏目管理文档数量与实际数量不相符解决方法

关于解决织梦文档栏目删除后ID 从1开始的方法

织梦栏目列表如何调用相关文章