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编辑器在段落产生的冗余空格