如何在织梦DedeCMS中单独调用搜索页面的搜索结果条数?

在织梦dedecms中,要单独调用搜索结果条数,可以通过修改search.php文件或使用自定义标签来实现。

织梦dedecms搜索页面单独调用搜索结果条数的实现方法

如何在织梦DedeCMS中单独调用搜索页面的搜索结果条数?

在织梦dedecms中,默认情况下并没有提供直接调用搜索结果总数的标签,有时候我们需要在搜索结果页单独显示搜索结果的数量,这可以通过二次开发来实现,以下是详细的步骤和代码示例:

一、修改文件

1、打开/include/arc.searchview.class.php文件:这个文件包含了搜索结果页面的核心逻辑。

2、定位到特定代码段:找到以下代码段:

    else if($tagname=="pagelist")
    {
        $list_len = trim($ctag>GetAtt("listsize"));
        if($list_len=="")
        {
            $list_len = 3;
        }
        $this>dtp>Assign($tagid,$this>GetPageListDM($list_len));
    }

3、添加新代码段:在该代码段下方添加以下代码:

    else if($tagname=="itemcount")
    {
        $list_len = trim($ctag>GetAtt("listsize"));
        if($list_len=="")
        {
            $list_len = 3;
        }
        $this>dtp>Assign($tagid,$this>GetItemsCountDM($list_len));
    }

4、添加新函数:在文件中找到以下注释代码段上方:

    /**
    * 获得当前的页面文件的url
    * @access public
    * @return string
    */

5、插入新函数:在该注释代码段上方添加以下函数:

    function GetItemsCountDM($list_len)
    {
        global $oldkeyword;
        $pagenow = ($this>PageNo1) * 10 + 1;
        $pagenows = $this>PageNo*10; //当结果超过限制时,重设结果页数
        if($this>TotalResult > $this>SearchMaxRc)
        {
            $totalpage = ceil($this>SearchMaxRc/$this>PageSize);
        }
        $plist .= $this>TotalResult;
        return $plist;
    }

6、保存修改:完成以上步骤后,保存对/include/arc.searchview.class.php文件的修改。

7、修改模板文件:在搜索结果页模板里要显示结果条数的地方通过如下标签调用:{dede:itemcount listsize='4'/},这里的listsize属性可以根据需要调整,表示每页显示的记录数。

如何在织梦DedeCMS中单独调用搜索页面的搜索结果条数?

二、控制搜索结果条数

织梦dedecms搜索结果页面的显示条数默认是10条,这个数值在模板当中是不能控制的,解决方法如下:

1、打开根目录下的plus文件夹,找到search.php文件。

2、修改代码:在大概第15行,找到以下代码:

    $pagesize =(isset($pagesize)&&is_numeric($pagesize))?$pagesize:10;

其中$pagesize:10就是显示条数,修改10为你想要显示的条数即可,想要改为每页显示20条,则将代码修改为:

    $pagesize =(isset($pagesize)&&is_numeric($pagesize))?$pagesize:20;

3、保存修改:完成修改后,保存对search.php文件的更改。

通过以上步骤,你可以实现织梦dedecms搜索页面单独调用搜索结果条数的功能,并根据需要调整每页显示的搜索结果条数,这些修改涉及到对系统文件的编辑,因此在进行任何修改之前,请确保备份相关文件以防万一。