【发布时间】:2020-02-05 13:44:15
【问题描述】:
我正在尝试在同一个视图上呈现多个分页。
在我的模板中,我使用制表符来分隔不同的列表,但我希望每个列表都有自己的分页
目前我已经:
Controller.php
public function index(Request $request, PaginatorInterface $paginator)
{
$productsLines = $stripeAdmin->findAllProducts();
$products = $paginator->paginate(
$productsLines,
$request->query->getInt("page", 1),
1
);
$products->setTemplate("pagination/stripePagination.html.twig");
$couponsLines = $stripeAdmin->findAllCoupons();
$coupons = $paginator->paginate(
$couponsLines,
$request->query->getInt("page", 1),
1
);
$coupons->setTemplate("pagination/stripePagination.html.twig");
return $this->render('stripe_admin/index.html.twig', [
"products" => $products,
"coupons" => $coupons,
]);
}
template.html.twig:
在每个标签中,我都有这个:
产品标签:
<div class="navigation">
{{knp_pagination_render(products)}}
</div>
优惠券标签:
<div class="navigation">
{{knp_pagination_render(coupons)}}
</div>
但最后我只有一个被渲染的。
有解决办法吗?
【问题讨论】:
-
看起来您在分页查询字符串中具有相同的变量名称。
$request->query->getInt("page", 1)用于产品和优惠券。使用不同的名称 -
@Cid 不应影响 knppaginator。但看起来问题出在视图部件上。你检查过你的浏览器吗?
-
是的,我检查了浏览器并确认分页元素只呈现一次
-
编辑:好的,如果我为页面使用不同的名称,它会起作用!谢谢!
标签: symfony view pagination