我有一个使用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,
]);
}