【发布时间】:2015-11-29 14:00:11
【问题描述】:
我使用 Paginator 组件,每当用户/机器人访问过高的页码时,他都会收到 Not Found 异常。 这可能没问题,但我想将 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);
}
}
}
【问题讨论】:
标签: php cakephp pagination cakephp-2.3