你有没有发现刚上手PHPCMS做站的时候,别的标签调得都顺,一碰到分页就卡壳?要么半天出不来分页条,要么出来了点第二页直接404,改到心态崩是常有的事。我前两年刚用phpcms的时候,光分页的坑就踩了不下十次,今天把攒的干货全甩给你们。
说白了默认的列表分页调用真的没那么复杂,别上来就搞那些花里胡哨的自定义逻辑,先把基础款跑通再说。比如你做普通的栏目列表页,直接套下面的代码就行:
``` {pc:content action="lists" catid="$catid" num="15" page="$page"}这里要敲黑板,pc标签里必须带上page="$page"参数,80%的人出不来分页,都是漏了这个参数。你想啊,系统都不知道你要接收页码变量,怎么给你计算分页生成代码?白瞎你改半天样式。
很多人嫌默认生成的分页样式丑,不符合自己的网站设计,上来就去改系统内核文件,下次程序升级直接给你覆盖的干干净净,哭都没地方哭。
正确的做法是去phpcms/libs/functions/global.func.php文件里,找到pages这个函数,里面就是生成分页html的逻辑,你直接改里面的类名、结构就行,要是怕升级覆盖,就把整个函数复制出来,改名叫my_pages,放到你自己模板的自定义函数文件里,调用的时候把{$pages}换成{$my_pages}就完事,稳得很。
要是你只是临时改个小需求,不想动函数,也可以直接用js给生成的分页元素加类名,就是没改函数来的彻底,应急用没问题。

最常见的就是点分页直接404,这种情况先看你有没有开伪静态。本地测试用动态地址好好的,上线开了伪静态就炸的,90%是没在pc标签里加urlrule参数,比如你伪静态规则是/news/list_{$catid}_{$page}.html,那你就要在pc标签里加上对应的urlrule参数,系统才能生成正确的分页链接。
还有那种分页总数对不上的,比如你加了自定义筛选条件,只调用带推荐属性的内容,结果分页还是按全栏目内容算的,就是你没把筛选参数同步到分页逻辑里,直接在pc标签里把where参数写全就行,系统会自动按你的筛选条件算总条数。
对了还有人做自定义模型的时候出不来分页,别慌,和普通内容模型调用逻辑一模一样,只要把action对应的模型名改对就行,没啥特殊的。
很多人做内容详情页,内容太长要拆分分页,硬手写js分页,完全没必要。phpcms自带详情页分页功能,你直接在后台编辑器里插入分页符,模板里调用{$content_pages}就能输出详情分页,不用自己写任何逻辑,好多新手不知道这个功能,白熬好几个大夜。
还有想要调用指定页码的内容,直接把page参数写成固定值就行,比如做排行榜单要显示第二页的内容,直接page="2",系统会直接跳过前15条输出对应内容,特别省事。
其实phpcms的分页逻辑真的没那么绕,把几个核心参数搞明白,90%的坑都能直接避开。别上来就乱改内核文件,改到最后自己都记不清改了啥,下次出问题排查都找不到地方,完全得不偿失。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图