Home > Article > CMS Tutorial > Where to change the phpcms paging function
phpcms paging function is modified in the global file "phpcms\libs\functions\global.func.php". Its paging function refers to the "pages()" function. This paging function is shared by the entire site.
##phpcms V9 custom paging function
Everyone does it When building a website, the paging style may often have to be controlled according to the requirements of the template. At this time, many people will modify the pages() function in the global file phpcms\libs\functions\global.func.php, and problems will arise. : This paging function will also affect the background. That is to say, this paging function is shared by the entire site. The solution is provided below: (This requires modifying the file, remember to back up before modifying) Openphpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存。Open
phpcms/libs/classes/template_cache.class.php,找到207行的 $str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';Add below this line Save on
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';. Finally, if you want to use your custom paging function, just use {$wz_pages} directly in the template. If you want to modify the style in the future, modify it directly
phpcms\libs\functions\global.func.php The wz_pages function in this file will suffice and will not affect the background. That’s all I can express. If you don’t understand, please reply. Tieba,,Follow-up optimization:During use, it was found that SQL paging cannot be used normally, and the following code must be addedOpen
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);';Add below it:
$str .= '$r = $get_db->sql_query("'.$sql.'");$s = $get_db->fetch_next();$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);';In this way, the paging of SQL is also normal. Hey, you are welcome to buy bricks. If you don’t want to shoot, you have to support it~~ Follow-up optimization again: A friend mentioned that the above method cannot be used for the favorite list pagination in the member center. Because the paging function of the collection list is directly set in other files, it is not feasible to modify the template cache fileThe modification method is provided below: Specifically
phpcms\libs\classes\model.class.php 61行 $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);Change the above line to:
$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages); (模板中的{$pages}不用改为{$wz_pages})The above is the first method. But if this is the case, the background may also be affected. This place seems to control many places. It can also be modified in this way. It is still the same file as above. Do not modify line 61. Add directly below line 61:
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);Then go to: phpcms\modules\member\index.php line 718Put $pages = $this->favorite_db->pages; Modify to:
$wz_pages = $this->favorite_db->wz_pages;{$pages} in the template should be modified to {$wz_pages}
The above is the detailed content of Where to change the phpcms paging function. For more information, please follow other related articles on the PHP Chinese website!