Skip to main content
 Web开发网 » 站长学院 » 织梦教程

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

2020年09月12日8040百度已收录

织梦在搜索结果页面并没有构造单独的函数来实现调用结果数量,结果数都集成在列表分页标签里了,如果我们需要这个数量的单独调用,就要进行二次开发了。

 

其实很简单,教大家如何实现:

 

第一步,打开/include/arc.searchview.class.php文件,查找代码(大概在第525行):

 

<span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">else if($tagname=="pagelist")

{

        $list_len = trim($ctag->GetAtt("listsize"));

        if($list_len=="")

        {

                $list_len = 3;

        }

        $this->dtp->Assign($tagid,$this->GetPageListDM($list_len));

}</span></span>

 

在下面添加代码:

 

<span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">else if($tagname=="itemcount")

{

        $list_len = trim($ctag->GetAtt("listsize"));

        if($list_len=="")

        {

                $list_len = 3;

        }

        $this->dtp->Assign($tagid,$this->GetItemsCountDM($list_len));

}

</span></span>

 

第二步,查找代码(大概在第925行):

 

<span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">/**

  * 获得当前的页面文件的url

  *

  * @access public

  * @return string

  */</span></span>

 

在其上面添加下面的这段代码:

 

<span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">//———— 

//搜索输出总量 

//———— 

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;

}</span></span>

 

第三步,在搜索结果页模板里要显示结果条数的地方通过如下标签调用:

 

<span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">{dede:itemcount listsize='4'/}</span></span>

 

这样就可以实现搜索结果页的搜索结果数量的单独调用了。


 

评论列表暂无评论
发表评论
微信