Rumah > pembangunan bahagian belakang > tutorial php > PHPCMS 二次开发自定义分页函数的方法实例详解

PHPCMS 二次开发自定义分页函数的方法实例详解

伊谢尔伦
Lepaskan: 2023-03-11 13:50:01
asal
1424 orang telah melayarinya

下面为大家分享一个PHPCMS V9二次开发自定义分页函数的方法。
方法如下:
首先打开 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);';
Salin selepas log masuk

在他下面增加:

$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';
Salin selepas log masuk

这样,SQL的分页也正常了。
再次后续优化:
有朋友提到,会员中心的收藏列表分页不能使用上面的办法。
因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的,下面提供修改办法:
具体修改见下面:


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

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

把上面这行修改成:

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

(模板中的{$pages}不用改为{$wz_pages})
上面是第一种办法。


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

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

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

$pages = $this->favorite_db->pages;
Salin selepas log masuk

修改为:

$wz_pages = $this->favorite_db->wz_pages;
Salin selepas log masuk

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

Atas ialah kandungan terperinci PHPCMS 二次开发自定义分页函数的方法实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan