Remove items from a collection

Sometimes you need to remove items from a collection (products f.e.) after it was loaded. The following example shows how I removed non salable product items from a collection of sibling products. The respective collection have to be inherited from Varien_Data_Collection.

    public function getSiblingsCollection()
        $oCollection = Mage::getModel('catalog/product')->getCollection()
            ->addFieldToFilter('sheldon_articlenbr', array('eq' => $this->getProduct()->getData('sheldon_articlenbr')))
            ->addFieldToFilter('type_id', array('eq' => Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE))
            ->addFieldToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED))
            ->addFieldToFilter('sheldon_color', array('neq' => ''))
            ->addAttributeToFilter('price', array( 'gt' => 0.0000) );

        foreach($oCollection as $sKey => $oProduct){

        return $oCollection;


Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.