找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2071|回复: 0

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

[复制链接]
发表于 2018-8-3 14:46:56 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦在搜索结果页面并没有构造单独的函数来实现调用结果数量,结果数都集成在列表分页标签里了,如果我们需要这个数量的单独调用,就要进行二次开发了。

其实很简单,教大家如何实现:

第一步,打开/include/arc.searchview.class.php文件,查找代码(大概在第525行):
  1. 1
  2. else if($tagname=="pagelist")
  3. 2
  4. {
  5. 3
  6.         $list_len = trim($ctag->GetAtt("listsize"));
  7. 4
  8.         if($list_len=="")
  9. 5
  10.         {
  11. 6
  12.                 $list_len = 3;
  13. 7
  14.         }
  15. 8
  16.         $this->dtp->Assign($tagid,$this->GetPageListDM($list_len));
  17. 9
  18. }
复制代码


在下面添加代码:
  1. else if($tagname=="itemcount")
  2. {
  3.         $list_len = trim($ctag->GetAtt("listsize"));
  4.         if($list_len=="")
  5.         {
  6.                 $list_len = 3;
  7.         }
  8.         $this->dtp->Assign($tagid,$this->GetItemsCountDM($list_len));
  9. }
复制代码

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

  1. /**
  2.   * 获得当前的页面文件的url
  3.   *
  4.   * @access public
  5.   * @return string
  6.   */
复制代码


在其上面添加下面的这段代码:
  1. //————
  2. //搜索输出总量
  3. //————
  4. function GetItemsCountDM($list_len)
  5. {
  6.         global $oldkeyword;
  7.         $pagenow = ($this->PageNo-1) * 10 + 1;
  8.         $pagenows = $this->PageNo*10; //当结果超过限制时,重设结果页数
  9.         if($this->TotalResult > $this->SearchMaxRc)
  10.         {
  11.                 $totalpage = ceil($this->SearchMaxRc/$this->PageSize);
  12.         }
  13.         $plist .= $this->TotalResult;
  14.         return $plist;
  15. }
复制代码


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

  1. {dede:itemcount listsize='4'/}
复制代码

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

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-29 05:37 , Processed in 0.041292 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表