muban大师 发表于 2020-6-10 09:07:16

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

织梦在搜索结果页面并没有构造单独的函数来实现调用结果数量,结果数都集成在列表分页标签里了,如果我们需要这个数量的单独调用,就要进行二次开发了。
       
        其实很简单,教大家如何实现:
       
        第一步,打开/include/arc.searchview.class.php文件,查找代码(大概在第525行):
       
        else if($tagname=="pagelist")
        {
                $list_len = trim($ctag->GetAtt("listsize"));
                if($list_len=="")
                {
                      $list_len = 3;
                }
                $this->dtp->Assign($tagid,$this->GetPageListDM($list_len));
        }
       
        在下面添加代码:
       
        else if($tagname=="itemcount")
        {
                $list_len = trim($ctag->GetAtt("listsize"));
                if($list_len=="")
                {
                      $list_len = 3;
                }
                $this->dtp->Assign($tagid,$this->GetItemsCountDM($list_len));
        }
       
       
        第二步,查找代码(大概在第925行):
       
        /**
          * 获得当前的页面文件的url
          *
          * @access public
          * @return string
          */
       
        在其上面添加下面的这段代码:
       
        //————
        //搜索输出总量
        //————
        function GetItemsCountDM($list_len)
        {
                global $oldkeyword;
                $pagenow = ($this->PageNo-1) * 10 + 1;
                $pagenows = $this->PageNo*10; //当结果超过限制时,重设结果页数
                if($this->TotalResult > $this->SearchMaxRc)
                {
                      $totalpage = ceil($this->SearchMaxRc/$this->PageSize);
                }
                $plist .= $this->TotalResult;
                return $plist;
        }
       
        第三步,在搜索结果页模板里要显示结果条数的地方通过如下标签调用:
       
        {dede:itemcount listsize='4'/}
       
        这样就可以实现搜索结果页的搜索结果数量的单独调用了。
页: [1]
查看完整版本: 织梦dedecms搜索页面单独调用搜索结果条数的实现方法