在DedecmsCMS中,搜索结果的数量通常集成在列表分页标签内,并未提供单独的函数来调用这一数据。这为需要单独显示搜索结果数量的用户带来了不便。本文将详细介绍如何通过二次开发实现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'/}
完成以上步骤后,您就可以在DedeCMS搜索结果页中单独调用搜索结果的数量了。这种方法不仅简单易行,而且能够有效满足用户的个性化需求。
通过这样的二次开发,您可以更灵活地展示搜索结果信息,提升用户体验。希望这篇文章对您有所帮助!如果您有任何疑问或需要进一步的帮助,请随时联系。