PHPCMS快速建站系列之自定义分页函数
内容分页的实现方法:
{pc:content action="lists" catid="$catid" order="id DESC" num="1" page="$_GET[page]"}
........
{$pages}
......
{/pc}
用以上方法调用分页函数,可生成phpcms默认的分页样式。
如果需要修改自定义的分页函数,可修改phpcms\libs\functions\global.func.php 下的pages()函数,但是,这个函数是前后台公用的。建议新建自定义函数wz_pages()函数,单独前台调用。或者中英文网站,需要不同分页样式时使用。
ps:修改前记得备份该文件。另,如果后期程序升级可能会重置覆盖该文件,到时候自定义的函数出问题(该情况为做考证,仅猜测,以后遇到再来补充)
自定义分页函数修改具体步骤:
1.添加自定义分页函数
打开phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存。
2.添加自定义函数解析
打开phpcms/libs/classes/template_cache.class.php,找到209行(每个版本不一样,找到下面这句代码)的
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
在这行的下面加上
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';
保存。
3.在模板调用
{$pages} 改为 {$wz_page}
即可成功调用自定义函数。
ps:wz_page函数中,自己修改需要的分页配置
后续优化:
使用过程中,发现使用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);';
再次后续优化:
有朋友提到,会员中心的收藏列表分页不能使用上面的办法。
因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的
下面提供修改办法:
具体是
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快速建站系列之自定义分页函数的更多相关文章
- PHPCMS快速建站系列之后台内容自定义修改
一.后台登录页面 背景图:\statics\images\admin_img 中的 login_bg.jpg 底部版权信息:\phpcms\languages\en 中的 system.lang.ph ...
- PHPCMS快速建站系列之phpcms v9 模板标签说明整理
[摘要]本文介绍phpcms v9中模板标签使用说明. {template "content","header"} 调用根目录下phpcms\template\ ...
- PHPCMS快速建站系列之需要掌握的函数
路径:phpcms\libs\classes\model.class.php /** * 执行sql查询 * @param $where 查询条件[例`name`='$name'] * ...
- PHPCMS快速建站系列之邮箱验证
1. 登录163邮箱,->设置,开启POP3服务->把SMTP服务器地址复制到PHPCMS后台. 2.开启客户端授权密码 3.填写相关信息,.可以在测试邮箱填入邮箱地址测试
- PHPCMS快速建站系列之pc:get标签的应用
GET标签使用方式如下: {pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$ ...
- PHPCMS快速建站系列之标签循环嵌套
标签循环嵌套方法,可以实现对PC标签循环调用,代码如下: 在此文件里/phpcms/lib/classes/template_cache.class.php 里的 template_parse 方法里 ...
- PHPCMS快速建站系列之标签调用出错
{pc:content action="position" posid="24" order="listorder ASC" thumb=& ...
- PHPCMS快速建站系列之类别调用及类别显示页面
在需要调用类别的地方,比如列表页,首先写循环前面写上一句: <?php $TYPE = getcache('type_content','commons');?> 这句就是把类别缓存加载进 ...
- PHPCMS快速建站系列之常用标签
<span class="Nmore"><a href="/index.php?m=content&c=index&a=lists&am ...
随机推荐
- 以图搜图(一):Python实现dHash算法(转)
近期研究了一下以图搜图这个炫酷的东西.百度和谷歌都有提供以图搜图的功能,有兴趣可以找一下.当然,不是很深入.深入的话,得运用到深度学习这货.Python深度学习当然不在话下. 这个功能最核心的东西就是 ...
- UVALive 2517 Moving Object Recognition(模拟)
题目看上去很吓人,很高端,但其实很简单,不要被吓到,照搬题目的公式就可以了. 方法:用BFS求出最大块和重心,找出题目公式需要的未知量,然后套到题目公式里就可以求出答案了. 代码: #include& ...
- hdu4861(游戏)
数论问题:试题 题目没有看懂,但是解题方法感觉的确是非常巧妙的,应该是属于数论一方面的试题. 试题分析: 首先是DouBiNan先取,所以肯定优先选取剩余中值最大的,于是不存在说DouBiNan值小的 ...
- OpenGL学习-------绘制简单的几何图形
本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点.直线和多边形我们知道数学(具体的说,是几何学)中有点.直线和多边形的概念,但这些概念在计算机中会有所不同.数学上的 ...
- bat 常用命令
基础部分:======================================================================一.基础语法: 1.批处理文件是一个". ...
- 关于MySql中自增长id设置初始值
在MySQL数据库,设置了id为自增长类型,但由于程序还处于开发阶段,很容易的会产生错误数据,然后就直接删除了,可是id的自增长值没有跟着减少,这里提示: 如果表中数据没有用,直接删除了数据,自动增长 ...
- 畅通工程续 (dijkstra)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- python数组查找算法---bisect二分查找插入
1 实例 这个模块只有几个函数, 一旦决定使用二分搜索时,立马要想到使用这个模块 [python] view plaincopyprint? import bisect L = [1,3,3,6,8, ...
- android4.0 的图库Gallery2代码分析(三) 之Applition的初始化准备
Applition的初始化准备 图库的一切动作都明显地起源于Application.这是区别与其他那种感觉不到Application存在,仅仅感觉到Activity存在的简单应用的一个特点. 图库的a ...
- LintCode 11 二叉查找树的搜索区间
题目链接:http://www.lintcode.com/zh-cn/problem/search-range-in-binary-search-tree/ 1.描述 给定两个值 k1 和 k2(k1 ...