如何过滤Magento Loaded Collection?

时间:2015-07-21 06:47:57

标签: magento

在Magento中为过滤集合添加过滤器的最佳做法是什么?我想隐藏缺货的商品,上次更新日期不在最近30天内。

我尝试创建一个隐藏前端产品的功能,然后我意识到它不会影响寻呼机​​中加载的总项数。我发现_getProductCollection()可能是我可以使用的方法,但我无法在其上添加过滤器。

我还是Magento的新手所以非常感谢任何指导。

3 个答案:

答案 0 :(得分:0)

$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addFieldToFilter( 'status', '1' );
$collection->addFieldToFilter(
'created_at',
    array(
        'lteq'=>$last_day
    )
);    
$collection->addFieldToFilter(
    'updated_at',
    array(
        'gteq'=>$first_day
    )
);

答案 1 :(得分:0)

您可以根据system->configuration->catalof->invemtory下的管理设置中的收集来过滤缺货产品 并设置`

  

显示缺货产品选项为否

希望这会对你有所帮助

`

答案 2 :(得分:0)

你可以在app \ code \ core \ Mage \ Catalog \ Block \ Product \ List.php

中的_getProductCollection()函数中添加过滤器
from
> $this->_productCollection = $layer->getProductCollection();

to 

$this->_productCollection = $layer->getProductCollection()->addAttributeToFilter('created_at', 'your_value'));

`