如何获取cakePHP 2 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

我使用Paginator组件,每当用户/机器人转到过高的页码时,他将得到一个未找到的异常。 这可能很好,但我想用301将用户重定向回第一页

现在我知道,[cakePHP 2文档][1]告诉我如何针对个别情况进行分页,但我希望在不每次添加代码位的情况下针对所有分页进行分页

我试图在我的应用程序中构建我自己的Paginator组件,核心组件作为父组件,但由于我没有名称空间,我只调用我自己的组件并以循环结束

    <?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()