final class PageNumberInvalidException extends OutOfRangeException
{
public static function create(int $page): self
{
return new self(
sprintf('Invalid page number. Page: %d: $page must be positive non-zero integer', $page)
);
}
}
}
public function paginate($target, int $page = 1, int $limit = null, array $options = []): PaginationInterface
{
if ($page <= 0) {
throw PageNumberInvalidException::create($page);
}
$limit = $limit ?? $this->defaultOptions[self::DEFAULT_LIMIT];
if ($limit <= 0) {
throw PageLimitInvalidException::create($limit);
/** @var SlidingPagination $paginator */
// init pagination
$paginator = $paginator->paginate(
$productListing,
$page = $request->get('page') ? $request->get('page', 1) : (isset($params['page']) ? $params['page'] : 1),
$filterDefinition->getPageLimit()
);
$params['results'] = $paginator;
$params['paginationVariables'] = $paginator->getPaginationData();
$params['showFilters'] = true;
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new ViewEvent($this, $request, $type, $response);
$this->dispatcher->dispatch($event, KernelEvents::VIEW);
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
$this->boot();
++$this->requestStackSize;
$this->resetServices = true;
try {
return $this->getHttpKernel()->handle($request, $type, $catch);
} finally {
--$this->requestStackSize;
}
}
$kernel = \Pimcore\Bootstrap::kernel();
// reset current request - will be read from request stack from now on
Tool::setCurrentRequest(null);
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
No log messages
PageNumberInvalidException
|
---|
Knp\Component\Pager\Exception\PageNumberInvalidException: Invalid page number. Page: 0: $page must be positive non-zero integer at vendor/knplabs/knp-components/src/Knp/Component/Pager/Exception/PageNumberInvalidException.php:11 at Knp\Component\Pager\Exception\PageNumberInvalidException::create() (vendor/knplabs/knp-components/src/Knp/Component/Pager/Paginator.php:59) at Knp\Component\Pager\Paginator->paginate() (src/Controller/ProductController.php:256) at App\Controller\ProductController->listingAction() (vendor/symfony/http-kernel/HttpKernel.php:163) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:75) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:202) at Symfony\Component\HttpKernel\Kernel->handle() (public/index.php:36) |