Home  >  Article  >  CMS Tutorial  >  Where to change the phpcms paging function

Where to change the phpcms paging function

藏色散人
藏色散人Original
2020-07-17 10:36:202188browse

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.

Where to change the phpcms paging function

##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)

Open

phpcms\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 added

Open

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 file

The 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 718

Put $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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn