在 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,
]);
}
希望对您有所帮助。
我有一个使用网络服务的应用程序。我的应用程序像这样向网络服务发送请求:
请求示例:
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,
]);
}
希望对您有所帮助。