PHPCMS V9二次开发自定义分页函数的解决方案

简介:

下面为大家分享一个PHPCMS V9二次开发自定义分页函数的方法。

方法如下:

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

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

  1. $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行的:

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


在他下面增加:

  1. $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行

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


把上面这行修改成:

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


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

上面是第一种办法。

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

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

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

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

修改为:

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


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



本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1735202
相关文章
|
9月前
|
数据采集 数据可视化 前端开发
漏刻有时数据可视化大屏核心完整版框架PHP后台数据管理 API数据接口 Echarts图表库 自带电脑端和手机端两套模版且支持自定义前端模版开发
漏刻有时数据可视化大屏核心完整版框架PHP后台数据管理 API数据接口 Echarts图表库 自带电脑端和手机端两套模版且支持自定义前端模版开发
161 0
|
9月前
|
PHP 索引
最为常用的Laravel操作(3)-模板
整理了 Laravel 框架模板最常用的操作,如模板常用语法、模板继承、流程控制、循环等。本系列共有 3 篇文章。
47 0
|
10月前
|
监控 测试技术 API
【更新】Eolink Apikit 10.9.0 版本:接口测试支持通过 URL 请求大型文件,支持左右视图和全屏视图
本次更新后,会把 API 管理、自动化测试、API 监控中的环境和自定义函数数据进行合并统一管理。 1) 环境合并:各应用级环境合并成空间级环境后,直接罗列在空间级环境列表中,不进行去重,故可能会有重名环境需要大家按需处理。 2) 自定义函数合并:各应用自定义函数合并成空间级自定义函数后,在空间级自定义函数分组中会增加三个一级分组“API 管理函数”、“自动化测试函数”、“API 监控函数”,各应用自定义函数会置于对应的应用分组下,并且进行同名去重,保留最新编辑过的自定义函数。
85 0
【更新】Eolink Apikit 10.9.0 版本:接口测试支持通过 URL 请求大型文件,支持左右视图和全屏视图
|
数据处理 C#
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
|
数据库
插件配置设计
插件配置设计
78 0
|
XML 数据库 数据安全/隐私保护
Qt功能优化:简易登录模板
Qt功能优化:简易登录模板
121 1
Qt功能优化:简易登录模板
|
前端开发 搜索推荐 API
稳定易用的 Django 分页库,完善分页功能
在 通过 Django Pagination 实现简单分页 中,我们实现了一个简单的分页导航。但效果有点差强人意,我们只能点上一页和下一页的按钮进行翻页。比较完善的分页效果应该像下面这样,但想实现这样一种效果,Django Pagination 内置的 API 已无能为力。接下来我们将通过拓展 Django Pagination 来实现下图这样比较完善的分页效果。 分页效果概述 一个比较完善的分页效果应该具有以下特性,很多网站都采用了类似这种的分页导航方式。 始终显示第一页和最后一页。 当前页码高亮显示。 显示当前页码前后几个连续的页码。 如果两个页码号间还有其它页码,中间显示省略号以提
126 0
|
前端开发 搜索推荐 定位技术
2019年回顾 - Joomla前12名SEO扩展和插件
如果你想最小化时间,并最大限度地为你的Joomla网站优化,你肯定需要一个Joomla SEO扩展或插件。 因此,唯一的问题是“ 你需要哪个Joomla SEO工具?” 接下来给大家详细介绍一下,12个Joomla SEO扩展的概述 sh404SEF 主要功能:页面SEO优化,分析,安全 - 付费延期 也许这是joomla最完整的seo扩展,因为它有助于解决cms中已知的每一个令人沮丧的搜索引擎问题。
|
JavaScript 前端开发 搜索推荐