首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只使用使用Symfony 2和Twig的Pagerfanta助手

只使用使用Symfony 2和Twig的Pagerfanta助手
EN

Stack Overflow用户
提问于 2016-08-24 12:28:11
回答 1查看 518关注 0票数 1

我有一个使用that服务的应用程序。我的应用程序向webservice发送请求如下:

请求示例:

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

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

回应例子:

代码语言:javascript
复制
{
  results:
    [
      {
        title: 'Nice title',
        body: 'Nice body'
      },
      ...,
      {
        title: 'Nice title',
        body: 'Nice body'
      },
    ],
  total: 1350,
  limit: 30
]

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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-26 16:05:45

正如您所说,FixedAdapter应该在这里做您需要的事情。下面是一些您可以修改的示例控制器代码:

代码语言:javascript
复制
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,
    ]);
}

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39123334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档