Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php KnpPager中的分页不工作_Php_Symfony_Pagination_Knppaginator - Fatal编程技术网

Php KnpPager中的分页不工作

Php KnpPager中的分页不工作,php,symfony,pagination,knppaginator,Php,Symfony,Pagination,Knppaginator,我的页码有问题。我的路线: show_product_category: path: /{id}/{name} defaults: { _controller: ShopDesktopBundle:Category:showCategory} requirements: id: \d+ _method: GET 在我的控制器中: $aProducts = $repositoryProduct->getProductsOrderByDa

我的页码有问题。我的路线:

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>

{{knp_分页}
这是产品数量的正常计算,在视图中我看到:1 2 3>。
但是,当我尝试在url中获取第2页时,它发送了:?page=2,但产品列表没有更改。

您没有配置页面参数并在控制器中处理它:

public function showCategoryAction($id, $name, $page)
{
    //your code.....
    $pagination = $paginator->paginate(
    $aProducts,
    $page,
    3
    );
    // your code...
}
使用以下路线:

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...
}