在 Symfony 2 和 Twig 中只使用 Pagerfanta 助手

Using only Pagerfanta helpers with Symfony 2 and Twig

我有一个使用网络服务的应用程序。我的应用程序像这样向网络服务发送请求:

请求示例:

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,
    ]);
}

希望对您有所帮助。