如何获取cakePHP 2 Paginator组件中未找到的异常
我使用Paginator组件,每当用户/机器人转到过高的页码时,他将得到一个未找到的异常。 这可能很好,但我想用301将用户重定向回第一页 现在我知道,[cakePHP 2文档][1]告诉我如何针对个别情况进行分页,但我希望在不每次添加代码位的情况下针对所有分页进行分页 我试图在我的应用程序中构建我自己的Paginator组件,核心组件作为父组件,但由于我没有名称空间,我只调用我自己的组件并以循环结束如何获取cakePHP 2 Paginator组件中未找到的异常,php,cakephp,pagination,cakephp-2.3,Php,Cakephp,Pagination,Cakephp 2.3,我使用Paginator组件,每当用户/机器人转到过高的页码时,他将得到一个未找到的异常。 这可能很好,但我想用301将用户重定向回第一页 现在我知道,[cakePHP 2文档][1]告诉我如何针对个别情况进行分页,但我希望在不每次添加代码位的情况下针对所有分页进行分页 我试图在我的应用程序中构建我自己的Paginator组件,核心组件作为父组件,但由于我没有名称空间,我只调用我自己的组件并以循环结束 <?php App::uses('PaginatorComponent
<?php
App::uses('PaginatorComponent', 'Vendor/Controller/Component');
class PaginatorComponent extends PaginatorComponent {
public function paginate($object = null, $scope = array(), $whitelist = array()) {
try {
PaginatorComponent::paginate($object, $scope, $whitelist);
} catch (NotFoundException $e) {
if ($this->request->query('page') <= 1) {
throw new NotFoundException();
}
$this->redirect($this->here);
}
}
}
您不能调用组件PaginatorComponent
,因为它已经存在!这条线路应立即响起警铃:-
class PaginatorComponent extends PaginatorComponent {
将组件命名为不同的名称,如CustomPaginatorComponent
:-
class CustomPaginatorComponent extends PaginatorComponent {
您还需要在自定义的paginate()
方法中调用parent::paginate()
,而不是PaginatorComponent::paginate()