在Dedecms CMS中,搜索结果页面并未提供单独调用结果数量的功能,所有的结果数都被集成在列表分页标签中。如果需要单独调用这个数量,则需要进行二次开发。

实现这一功能其实并不复杂,以下是具体步骤:

第一步,打开/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功能的开发者来说,这是一个非常实用的小技巧。记得每次修改核心文件后都要做好备份工作,以防止意外情况的发生。同时,随着Dedecms版本的更新,上述代码的位置可能会有所变化,请根据实际情况灵活调整。