KNPPaginatorBundle在首页上的特色结果

时间:2014-06-25 18:02:10

标签: symfony knppaginator

我们假设我有一个包含100个商品的在线商店,并使用KNPPaginatorBundle来处理每页10个项目的分页器,100个项目中的5个是特色商品。每个项目都有一个布尔字段'特色'告诉它是否应该在非功能性项目之前。有没有办法用捆绑处理这个?

目前我有一个包含5个特色项目的数组,另一个数据包含100个非特征项目,我正常迭代第一个数据库而第二个使用数据包,但是这种方法在第一页给出了15个结果。因此,如果我可以告诉捆绑包在第1页上返回5个项目,在下面的10中返回10个,那将是理想的。

1 个答案:

答案 0 :(得分:1)

首先使用“精选”项创建查询的最佳方式。 (按顺序排列?)。

如果由于某种原因您无法创建此类查询,但您有项目,则可以直接将集合传递给分页:

$collection = new \Doctrine\Common\Collections\ArrayCollection($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*/
);