ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

蛋糕PHP中的自定义分页

2019-06-09 23:25:06  阅读:292  来源: 互联网

标签:php cakephp-2-0 paginator


我是cakePHP的初学者,我不想在cakePHP中创建自定义分页.

函数$paginator-> numbers();它显示如下页码:

1 | 2 | 3 | 4 | ...

通过查看选项,有一些选项可以更改分隔符,添加一个样式css ..Etc的类.

我想要的是像我这样的分页:

1-20 21-40 41-60 61-80 ... >>

有人知道如何编码吗?

编辑:

我在:app / View / Helper /中创建了自定义分页器帮助器,

我已经将我的CustomPaginatorHelper添加到我的Controller的$helper中,如下所示:

public $helpers = array('CustomPaginator', 'Html', 'Form', 'Js');

但我得到了这个错误:

Fatal error: Class 'PaginatorHelper' not found in /Applications/MAMP/htdocs/QRCode/app/View/Helper/CustomPaginatorHelper.php on line 2

看来他不知道PaginatorHelper !!!
我应该在哪里添加我的自定义Paginator?

注意:您的功能号码()将只显示分页的格式:1-20 21-40 …等,但没有链接到我认为的页面:)

编辑2:

我添加了App :: set(‘PaginatorHelper’,’/ View / Helper /’);我不再得到这个错误了.
现在我尝试调用自定义分页器的numbers()方法,如下所示:

$this->CustomPaginator->numbers(); 

但我得到这个错误:

Fatal error: Call to a member function numbers() on a non-object in /Applications/MAMP/htdocs/QRCode/app/View/Codes/index.ctp on line 71

这个错误的来源是什么?我试图将我的customPaginatorHelper添加到我的Controller的$helpers变量,但我仍然得到相同的错误;有任何想法吗 ?

提前致谢

解决方法:

这里要知道的关键是有一个paginator组件(在控制器中使用)和一个paginator helper(在视图中使用).您正在使用的是PaginatorHelper类,它处理与分页相关联的元素的呈现.

不幸的是,没有办法用PaginatorHelper做你想做的事.如果要执行此操作,最好的方法是扩展PaginatorHelper类并覆盖numbers()方法以返回所需内容.

我已经看过那个特殊的方法,遗憾的是它并不好 – 它超过100行!但是,我创建了一个继承PaginatorHelper并重写该方法的类.由于原始方法太长,所以复制和粘贴很多,因此我没有将它直接放在这个答案中.

你可以在这里查看:https://gist.github.com/2037902

您还需要将CustomPaginator添加到控制器中的帮助程序列表中.

标签:php,cakephp-2-0,paginator
来源: https://codeday.me/bug/20190609/1208169.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有