首页  »  站长资讯  »  网站优化

dedecms织梦搜索页面单独调用搜索结果条数怎么实现?

2023/03/11 12:27     创新屋收录网     已浏览350次


DEDE的搜索结果数量都集成在了列表分页标签里,并没有使用单独的函数来提供这个结果数量,因此对有单独调用搜索结果数量的用户来说,就有使用问题,这里提供二次开发的方法。

非常简单只要修改几个地方就行了:

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




















01

else if($tagname=="pagelist")











02

 











03

{











04

 











05

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











06

 











07

if($list_len=="")











08

 











09

{











10

 











11

$list_len = 3;











12

 











13

}











14

 











15

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











16

 











17

}





在下面添加代码:



















01

else if($tagname=="itemcount")











02

 











03

{











04

 











05

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











06

 











07

if($list_len=="")











08

 











09

{











10

 











11

$list_len = 3;











12

 











13

}











14

 











15

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











16

 











17

}





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

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

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




























01

function GetItemsCountDM($list_len)











02

 











03

{











04

 











05

global $oldkeyword;











06

 











07

$pagenow = ($this->PageNo-1) * 10 + 1;











08

 











09

$pagenows = $this->PageNo*10; //当结果超过限制时,重设结果页数











10

 











11

if($this->TotalResult > $this->SearchMaxRc)











12

 











13

{











14

 











15

$totalpage = ceil($this->SearchMaxRc/$this->PageSize);











16

 











17

}











18

 











19

$plist .= $this->TotalResult;











20

 











21

return $plist;











22

 











23

}







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

{dede:itemcount listsize='4'/}

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





















01

else if($tagname=="itemcount")











02

 











03

{











04

 











05

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











06

 











07

if($list_len=="")











08

 











09

{











10

 











11

$list_len = 3;











12

 











13

}











14

 











15

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











16

 











17

}