关于$collection之后的Magento分页->;removeItemByKey

关于$collection之后的Magento分页->;removeItemByKey,magento,collections,pagination,product,Magento,Collections,Pagination,Product,我关注这个博客,它非常可靠,我找到了很好的解决方案。。 但是,这一次,我还没有找到解决问题的方法,所以我决定发布我在magento遇到的问题: 我必须对list.php中的产品集合应用一个过滤器,代码如下: foreach($key=>$product形式的集合){ $\u regularPrice=$\u taxHelper->getPrice($product,$product->getPrice(),$\u simplePricesTax); $\u finalPrice=$\u taxH

我关注这个博客,它非常可靠,我找到了很好的解决方案。。 但是,这一次,我还没有找到解决问题的方法,所以我决定发布我在magento遇到的问题: 我必须对list.php中的产品集合应用一个过滤器,代码如下:

foreach($key=>$product形式的集合){

$\u regularPrice=$\u taxHelper->getPrice($product,$product->getPrice(),$\u simplePricesTax);
$\u finalPrice=$\u taxHelper->getPrice($product,$product->getFinalPrice());
$折扣=最低价格($正常价格-$最终价格)/$正常价格*100);
如果($折扣removeItemByKey($key));
}
}

这样做了,我有我自己的产品集合要显示,现在仍然是这些结果的分页问题,那么您现在怎么样,在第一页中向我显示了大约300个产品,而分页器的链接显示了大约8个页面,我如何才能拥有默认情况下为其列表提供magento的相同功能? 谢谢你的帮助
向所有Luke问候

因为你有一些数学知识,我认为你无法在集合的代码中完成。你可以做的是迭代集合并将所有匹配的ID放在一个巨大的数组中。然后从这些ID加载另一个集合对象。这应该是可分页的

请参阅关于合并集合的SO Q/A,了解如何组装ID并加载集合


IRIS Indigo您好,谢谢您的回答,我查看了链接,应用了两个集合的合并,第一个设置为:$merged=Mage::getModel('catalog/product')->getCollection()->addFieldToFilter('entity_id'),-1);使其保持为空,然后将该项目添加到我的收藏中,因此,我在第一页中有一个巨大的列表,并且列表后没有分页链接(这可能是因为magento在收藏中的项目数量方面发挥得很好),还有其他建议吗?谢谢lukeDid你看到阵列构建的第一个答案了吗?如果我没有说清楚,很抱歉:
             $ _regularPrice = $ _taxHelper-> getPrice ($ product, $ product-> getPrice (), $ _simplePricesTax);
             $ _finalPrice = $ _taxHelper-> getPrice ($ product, $ product-> getFinalPrice ());
             $ discount = floor (($ _regularPrice - $ _finalPrice) / $ _regularPrice * 100);

             if ($ discount <50) {
                 $ collection-> removeItemByKey ($ key);
             }