如何在Symfony中获取分页链接的干净URL

时间:2014-06-16 04:31:32

标签: symfony pagination

我正在使用的所有Symfony URL都是很好的清晰SEO友好类型的东西... sites / new,sites / edit / 1等

我刚刚安装了knp pagination bundle来为我的表格添加分页。

但是生成的链接是这样的:app_dev.php / sites?page = 2

如何让它使用正常的链接样式,因此第2页将是这样的:app_dev.php / sites / 2

任何想法都表示赞赏,谢谢。

1 个答案:

答案 0 :(得分:3)

您需要更改操作的路由定义。像这样:

/**
 * sitesAction
 *
 * @Route("/sites/{page}", requirements={"page" = "\d+"}, defaults={"page" = 1})
 */
public function sitesAction($page = 1)
{
    (...)
    $paginator  = $this->get('knp_paginator');

    $pagination = $paginator->paginate(
        $query,
        $page/*page number*/,
        $this->get('request')->query->get('max_per_page', 10)/*limit per page*/
    );

    return array('pagination' => $pagination);
}