仅使用Pagerfanta助手与Symfony 2和Twig



我有一个使用webservice的应用程序。我的应用程序发送请求到webservice,像这样:

请求的例子:

https://mywebservice.com/interesting-route/?page=4&limit=30

所以我只收到结果的切片,而不是完整的数组,否则我可以使用ArrayAdapter在我的控制器中分页。我想使用小枝扩展来生成DOM元素在我的视图。

反应的例子:

{
  results:
    [
      {
        title: 'Nice title',
        body: 'Nice body'
      },
      ...,
      {
        title: 'Nice title',
        body: 'Nice body'
      },
    ],
  total: 1350,
  limit: 30
]

方法是什么,也许使用FixedAdapter?

谢谢

就像你说的,FixedAdapter应该做你需要的。以下是一些您可以适应的示例控制器代码:

public function someAction(Request $request)
{
    $page = 1;
    if ($request->get('page') !== null) {
        $page = $request->get('page');
    }
    $totalResults = // call your webservice to get a total
    $limit = 30;
    $slice = $this->callMyWebserviceInterestingRoute($page, $limit);
    $adapter = new FixedAdapter($totalResults, $slice);
    $pagerfanta = new Pagerfanta($adapter);
    $pagerfanta->setMaxPerPage($limit);
    $pagerfanta->setCurrentPage($page);
    return $this->render('default/pages.html.twig', [
        'my_pager' => $pagerfanta,
    ]);
}

最新更新