將過濾器添加到Magento中加載的集合的最佳做法是什麼?我想隱藏沒有庫存的商品,上次更新的日期不在最近30天內。如何過濾Magento Loaded Collection?
我嘗試創建一個函數來隱藏前端的產品,然後我意識到它不會影響在尋呼機中加載的總項目數。我發現_getProductCollection()
可能是我可以使用的方法,但我無法在其上添加過濾器。
我還是Magento的新手,所以任何指導都非常感謝。
將過濾器添加到Magento中加載的集合的最佳做法是什麼?我想隱藏沒有庫存的商品,上次更新的日期不在最近30天內。如何過濾Magento Loaded Collection?
我嘗試創建一個函數來隱藏前端的產品,然後我意識到它不會影響在尋呼機中加載的總項目數。我發現_getProductCollection()
可能是我可以使用的方法,但我無法在其上添加過濾器。
我還是Magento的新手,所以任何指導都非常感謝。
$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
)
);
可以system->configuration->catalof->invemtory
下篩選出來的股票產品,從管理設置的保藏,並設置`
顯示缺貨產品選項沒有
希望這將幫你
`
你可以在app \代碼\核心\法師\目錄中_getProductCollection()函數中添加過濾器\塊\產品\ list.php的
from
> $this->_productCollection = $layer->getProductCollection();
to
$this->_productCollection = $layer->getProductCollection()->addAttributeToFilter('created_at', 'your_value'));
`
您還可以使用篩選器值像Shack Ro回答 - > addFieldToFilter( 'created_at', array( 'lteq'=> $ last_day ) ); $ this - > _ productCollection-> addFieldToFilter( 'updated_at', array( 'gteq'=> $ first_day ) –
謝謝,但我需要用兩個過濾規則。缺貨和上次更新不在30天內。 – sayzlim
爲此,您可以檢查\ app \ code \ core \ Mage \ Catalog \ Block \ Product \ List.php到和_getProductCollection()函數,並且您可以在其中添加您的篩選器以創建 –