搜索功能模块对于一个网站来说是必不可少的,这样可以方便我们根据关键词快速找到我们所需的内容,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}来调用我们自定义的分页函数。