Пагинация в KnpPager не работает

У меня проблема с моим пагинатом. Мой маршрут:

show_product_category:
path:     /{id}/{name}
defaults: { _controller: ShopDesktopBundle:Category:showCategory}
requirements:
id:  \d+
_method:  GET

В моем контроллере:

    $aProducts          = $repositoryProduct->getProductsOrderByDateDesc($id);
$paginator  = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$aProducts,
$this->get('request')->query->get('page', 1),
3
);
return $this->render('ShopDesktopBundle:Category:category.html.twig',array(
'pagination'        => $pagination
));

Я смотрю:

<div class="navigation">
{{ knp_pagination_render(pagination) }}
</div>

Это нормальный подсчет количества товаров и ввиду я вижу: 1 2 3>.
Но когда я попытался получить страницу 2 в URL, он отправил:? Page = 2, но список товаров не изменился.

-1

Решение

Вы пропустили настройку параметра страницы и обработали его в вашем контроллере:

использовать этот маршрут:

show_product_category:
path:     /{id}/{name}/{page}
defaults:
_controller: ShopDesktopBundle:Category:showCategory
page: 1
requirements:
id:  \d+
page: \d+
methods: [GET]

и в контроллере:

public function showCategoryAction($id, $name, $page)
{
//your code.....
$pagination = $paginator->paginate(
$aProducts,
$page,
3
);
// your code...
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]