/** * Collects list of objects in product list * * @param Mage_Catalog_Block_Product_List $object * @return Mage_Catalog_Model_Product[] */ public function collect($object) { $result = array(); $products = $object->getLoadedProductCollection(); foreach ($products as $product) { $result[] = $product; } return $result; }
public function testSetCollection() { $this->_block->setCollection('test'); $this->assertEquals('test', $this->_block->getLoadedProductCollection()); }
/** * @param string $html * @param Mage_Catalog_Block_Product_List $block * @return string */ private function _processCatalogProductList($html, $block) { $helper = $this->_getHelper(); /** @var $processor Mageplace_Callforprice_Model_Htmlprocessor_Interface */ $processor = Mage::getModel('mageplace_callforprice/htmlprocessor_factory')->createProcessor(); $processor->load($html); if ($helper->isGlobalEnabled()) { $processor->replace($helper->getCssSelector('product_list_price'), $helper->prepareReplacement()); $processor->remove($helper->getCssSelector('product_list_addtocart')); return $processor->getHtml(); } /** @var $parent Mage_Catalog_Block_Category_View */ $parent = $block->getParentBlock(); if ($parent instanceof Mage_Catalog_Block_Category_View && ($category = $parent->getCurrentCategory())) { if ($helper->isEnabledForCategory($category)) { $processor->replace($helper->getCssSelector('product_list_price'), $helper->prepareReplacement()); return $processor->getHtml(); } } $processor->process('productlist', array('products' => $block->getLoadedProductCollection())); return $processor->getHtml(); }
/** * Fires a custom event we can catch in the observer and process * the products where the add-to-cart-button should be hidden * * @return Mage_Eav_Model_Entity_Collection_Abstract */ public function getLoadedProductCollection() { $oProductCollection = parent::getLoadedProductCollection(); Mage::dispatchEvent('sitewards_b2bprofessional_product_list_collection_load_after', array('product_collection' => $oProductCollection)); return $oProductCollection; }
/** * Appends the points balance in the header somewhere * @param Mage_Catalog_Block_Product_List $block * @param Varien_Object $transport */ public function appendToCatalogListing($block, $transport) { // Should we be checking this auto-integration? if (!Mage::getStoreConfigFlag('rewards/autointegration/product_listing')) { return $this; } // Block is a price block. if (!$block instanceof Mage_Catalog_Block_Product_List) { return $this; } $all_products = $block->getLoadedProductCollection(); $html = $transport->getHtml(); $html = $this->_getNewCatalogListingHtml($html, $all_products); $transport->setHtml($html); return $this; }