首页 > 建站资源 > 建站教程 > PHPCMS V9二次开发自定义分页函数的方法分享

PHPCMS V9二次开发自定义分页函数的方法分享

时间:2012-09-09    来源:phpcms论坛

大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcms\libs\functions\global.func.php里的pages()函数,这样问题就来了:这个分页函数连后台也会影响到的,就是说,这个分页函数是全站共用的。下面提供解决方法:(这个得修改文件,修改前记得备份)

打开 phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存。

打开 phpcms/libs/classes/template_cache.class.php,找到207行的:

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

在这行的下面加上:

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

保存。最后,如果你要使用你自定义的分页函数,那么在模板中直接用{$wz_pages}就可以了,以后要修改样式,直接修改:

phpcms\libs\functions\global.func.php这个文件中的wz_pages函数就可以了,不会影响到后台。

后续优化:

使用过程中,发现使用SQL分页的不能正常使用,得再添加如下代码:

打开 phpcms/libs/classes/template_cache.class.php,找到178行的:

$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();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';

这样,SQL的分页也正常了。

再次后续优化:

有朋友提到,会员中心的收藏列表分页不能使用上面的办法。

因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的,下面提供修改办法:

具体修改见下面:

phpcms\libs\classes\model.class.php 第61行

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

把上面这行修改成:

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

(模板中的{$pages}不用改为{$wz_pages})

上面是第一种办法。

不过这样子的话,可能后台也会影响到了,这个地方好像是控制好多地方的, 也可以这样修改,还是上面那个文件,61行不要修改。直接在61行下面添加:

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

再去到:phpcms\modules\member\index.php 718行,把下面这行

 $pages = $this->favorite_db->pages; 

修改为:

$wz_pages = $this->favorite_db->wz_pages;

模板中的{$pages}要修改为{$wz_pages},这是以收藏列表为例子,其他的也大同小异了。

相关推荐
对PHPCMS V9实现tag、评论模块伪静态的教程
解决PHPCMS V9在首页无法只显示推荐的友情链接
让PHPCMS V9内容页图片自动加上alt属性值的两个方法
PHPCMS V9调用全站最新文章标签的修改方法
PHPCMS V9实现生成简短路径静态页的url规则分享
PHPCMS V9标签教程:get标签在模板中调用代码分享
PHPCMS V9教程:get标签支持pages翻页的效果汇总
PHPCMS V9分类信息的列表页在IIS6下的伪静态规则
PHPCMS V9教程:ckeditor编辑器修改攻略 包括添加一键排版功能
PHPCMS V9完美整合百度编辑器Ueditor的图文教程(附下载)
解决PHPCMS V9文章分页标题重复的2种方法分享
PHPCMS V9教程:实现调用指定栏目下按评论数排序的新闻列表
PHPCMS V9模板制作进阶教程之常用PC标签大全
PHPCMS V9生成flash幻灯片加载的xml文件方法分享
PHPCMS全站任意位置调用任意栏目详细信息的函数代码
PHPCMS V9首页、频道、列表等调用浏览量和评论的方法分享
解决PHPCMS V9的专题URL多出一个斜杠的方法分享
PHPCMS V9 subcat标签获取指定栏目或排除分类ID的方法
PHPCMS V9二次开发教程 用ajax校验字段值是否已经存在
PHPCMS V9教程:删除输出内容中的img图片地址
PHPCMS V9对输出内容过滤掉html代码的方法分享
PHPCMS V9实现专题栏目生成路径去掉html和special的方法
PHPCMS V9两步实现修改后台管理登陆路径方法分享
给PHPCMS V9单页面新增字段的方法分享
PHPCMS V9在新建模型中添加相关文章功能的方法
修改PHPCMS V9相关文章order排序功能的方法分享
PHPCMS V9标签循环嵌套调用数据的方法分享
PHPCMS V9下载模块"参数错误"的解决办法分享
PHPCMS2008的入门教程之GET标签的使用
修正PHPCMS2008 UTF-8版的字符串按字节长度截取不准的代码
实现PHPCMS2008内容页实时显示评论的方法
解决PHPCMS2008 SP4的RSS不输出最新信息问题
开源CMS系统帝国、PHPCMS及织梦专题功能优势比较
修改PHPCMS V9的CKEditor编辑器在段落产生的冗余空格

精彩推荐

热门教程