phpcms前台列表页面实现分页

sk  2017-3-22
0

1.先去添加自己的分页方法,不要在原来的分页方法上修改,否则会影响后台的那些分页。

打开 phpcms\libs\functions\global.func.php 文件,在页面搜索pages,找到分页方法,然后复制一份修改方法名,修改里面的分页样式,变为自己的方法。我在这儿起名为my_pages


2.解析pc标签进行sql查询类修改。

打开 phpcms/libs/classes/template_cache.class.php,大概在181行,

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);';
将这一行复制一份,将方法名改成自己的。


我的如下:

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$my_pages=my_pages($s[\'count\'], $page, $pagesize, $urlrule);';

3.常用分页类修改。

打开 phpcms/libs/classes/template_cache.class.php,大概在211行,

$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
将这一行复制一份,改成自己的


我的如下:

$str .= '$my_pages = my_pages($'.$op.'_total, $page, $pagesize, $urlrule);';

4.查询列表并分页类修改。

打开 phpcms\libs\classes\model.class.php,大概在61行,

$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
将这一行复制一份,改成自己的。我的如下:


$this->pages = my_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);

5.前台页面修改。

在前台需要写两个参数,一个是pc里的:

{pc:content action="lists" where="$sql" catid="$catid" order="id DESC" page="$_GET[page]"  num="30" urlrule="$urlrule"} 

<div class="page">{$my_pages}</div>


注:如果根据上面的修改完成后还没出现分页,是因为方法里写的数据小于要显示的数据(num=30)就不会显示分页,所以多添加点数据再试试。


回复 0  
游客  现在


二维码