在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搜索结果页中单独调用搜索结果的数量了。这种方法不仅简单易行,而且能够有效满足用户的个性化需求。

通过这样的二次开发,您可以更灵活地展示搜索结果信息,提升用户体验。希望这篇文章对您有所帮助!如果您有任何疑问或需要进一步的帮助,请随时联系。