KNPPaginatorBundle在第一页的特色结果



假设我有一个有100件商品的在线商店,并使用KNPPaginatorBundle来处理每页有10件商品的分页器,100件商品中有5件是特色商品。每个项目都有一个布尔字段"featured",告诉它是否应该在非特色项目之前。有什么方法可以处理这个bundle吗?

目前,我有一个包含5个特色项目的数组和另一个包含100个非特色项目的数组,我使用bundle迭代第一个和第二个,但这种方法在第一页给了我15个结果。因此,如果我可以告诉bundle在第1页返回5个项目,在接下来的10页返回10个项目,那将是理想的。

最好的方法是先创建一个带有'特色'项目的查询。(订单?)。

如果,由于某些原因你不能创建这样的查询,但你有项目,你可以直接传递collection到分页:

$collection = new DoctrineCommonCollectionsArrayCollection($featured);
foreach ($items as $item) {
    $collection->add($item);
}
$pagination = $paginator->paginate(
    $collection,
    $this->get('request')->query->get('page', 1)/*page number*/,
    10/*limit per page*/
);

相关内容

  • 没有找到相关文章

最新更新