欢迎来到奥多码

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

日期: 2020-06-30 12:02:26

织梦在搜索结果页面并没有构造单独的函数来实现调用结果数量,结果数都集成在列表分页标签里了,如果我们需要这个数量的单独调用,就要进行二次开发了。
 
其实很简单,教大家如何实现:
 
第一步,打开/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>
 
这样就可以实现搜索结果页的搜索结果数量的单独调用了。
 

上一篇:织梦dedecms图集productimagelist标签调用和常见问题汇总

下一篇:dedecms织梦图集每张图片单独调用并自定义样式的办法

  • 在线客服

    官方微信

    仅处理投诉、举报及平台使用问题;
    商品问题请咨询商家客服!

浏览记录