您当前的位置:首页 > CMS常见问题 > phpcms常见问题 >

phpcms自定义搜索列表分页样式

0

搜索功能模块对于一个网站来说是必不可少的,这样可以方便我们根据关键词快速找到我们所需的内容,phpcms内置全站搜索模块,测试过该搜索模块的亲们,如果发现存在搜索结果不全或搜索不到内容的问题,可以查看:phpcms后台存在数据前台却搜索不到或搜索结果显示不全。除此之外,对于搜索功能模块,我们在给客户设计网站的时候,一般还需要根据设计图修改前台搜索列表分页样式,开始修改之前,让我们来看一篇关于phpcms如何自定义前台分页样式,读完之后修改搜索列表分页样式就很简单了。

打开文件:/phpcms/libs/classes/model.class.php,在final public function listinfo方法里增加一行代码,如下所示:

/**
 * 查询多条数据并分页 修改by wangzhanchengxu.com
 * @param $where
 * @param $order
 * @param $page
 * @param $pagesize
 * @return unknown_type
*/
final public function listinfo($where='', $order='', $page=1, $pagesize=20, $key='', $setpages=10, $urlrule='', $array=array(), $data='*') {
	$where = to_sqls($where);
	$this->number = $this->count($where);
	$page = max(intval($page), 1);
	$offset = $pagesize*($page-1);
	$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
	//添加以下这行代码,调用自定义分页函数
	$this->front_pages= front_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
	$array = array();
	if ($this->number > 0) {
		return $this->select($where, $data, "$offset, $pagesize", $order, '', $key);
	} else {
		return array();
	}
}

保存文件之后,打开:/phpcms/modules/search/index.php,搜索$pages = $this->db->pages;这行代码,然后在该行代码下面增加$front_pages = $this->db->front_pages;,如下代码片段所示:

if($setting['sphinxenable']) {
	$data = $this->content_db->listinfo($where, 'id DESC', 1, $pagesize);
	$pages = pages($totalnums, $page, $pagesize);
} else {
	$data = $this->content_db->select($where, '*');
	$pages = $this->db->pages;
	//添加以下这行代码,调用自定义分页函数
	$front_pages = $this->db->front_pages;
	$totalnums = $this->db->number;
}

至此,我们便可以在搜索列表页模板/phpcms/templates/default/search/list.html文件里使用{$front_pages}来调用我们自定义的分页函数。

顶部中部底部