如何在织梦DedeCMS中单独调用搜索页面的搜索结果条数?
search.php
文件或使用自定义标签来实现。织梦dedecms搜索页面单独调用搜索结果条数的实现方法
在织梦dedecms中,默认情况下并没有提供直接调用搜索结果总数的标签,有时候我们需要在搜索结果页单独显示搜索结果的数量,这可以通过二次开发来实现,以下是详细的步骤和代码示例:
一、修改文件
1、打开/include/arc.searchview.class.php文件:这个文件包含了搜索结果页面的核心逻辑。
2、定位到特定代码段:找到以下代码段:
else if($tagname=="pagelist") { $list_len = trim($ctag>GetAtt("listsize")); if($list_len=="") { $list_len = 3; } $this>dtp>Assign($tagid,$this>GetPageListDM($list_len)); }
3、添加新代码段:在该代码段下方添加以下代码:
else if($tagname=="itemcount") { $list_len = trim($ctag>GetAtt("listsize")); if($list_len=="") { $list_len = 3; } $this>dtp>Assign($tagid,$this>GetItemsCountDM($list_len)); }
4、添加新函数:在文件中找到以下注释代码段上方:
/** * 获得当前的页面文件的url * @access public * @return string */
5、插入新函数:在该注释代码段上方添加以下函数:
function GetItemsCountDM($list_len) { global $oldkeyword; $pagenow = ($this>PageNo1) * 10 + 1; $pagenows = $this>PageNo*10; //当结果超过限制时,重设结果页数 if($this>TotalResult > $this>SearchMaxRc) { $totalpage = ceil($this>SearchMaxRc/$this>PageSize); } $plist .= $this>TotalResult; return $plist; }
6、保存修改:完成以上步骤后,保存对/include/arc.searchview.class.php
文件的修改。
7、修改模板文件:在搜索结果页模板里要显示结果条数的地方通过如下标签调用:{dede:itemcount listsize='4'/}
,这里的listsize
属性可以根据需要调整,表示每页显示的记录数。
二、控制搜索结果条数
织梦dedecms搜索结果页面的显示条数默认是10条,这个数值在模板当中是不能控制的,解决方法如下:
1、打开根目录下的plus文件夹,找到search.php
文件。
2、修改代码:在大概第15行,找到以下代码:
$pagesize =(isset($pagesize)&&is_numeric($pagesize))?$pagesize:10;
其中$pagesize:10
就是显示条数,修改10为你想要显示的条数即可,想要改为每页显示20条,则将代码修改为:
$pagesize =(isset($pagesize)&&is_numeric($pagesize))?$pagesize:20;
3、保存修改:完成修改后,保存对search.php
文件的更改。
通过以上步骤,你可以实现织梦dedecms搜索页面单独调用搜索结果条数的功能,并根据需要调整每页显示的搜索结果条数,这些修改涉及到对系统文件的编辑,因此在进行任何修改之前,请确保备份相关文件以防万一。