/** * Collects list of objects in product list * * @param Mage_Catalog_Block_Product_List_Related $object * @return Mage_Catalog_Model_Product[] */ public function collect($object) { $result = array(); $products = $object->getItems(); foreach ($products as $product) { $result[] = $product; } return $result; }
public function testAll() { $product = new Mage_Catalog_Model_Product(); $product->load(2); Mage::register('product', $product); $block = new Mage_Catalog_Block_Product_List_Related(); $block->setLayout(new Mage_Core_Model_Layout()); $block->setTemplate('product/list/related.phtml'); $html = $block->toHtml(); $this->assertNotEmpty($html); $this->assertContains('Simple Related Product', $html); /* name */ $this->assertContains('product/1/', $html); /* part of url */ $this->assertInstanceOf('Mage_Catalog_Model_Resource_Product_Link_Product_Collection', $block->getItems()); }
/** * @param string $html * @param Mage_Catalog_Block_Product_List_Related $block * @return string */ private function _processRelatedProducts($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('upsell_product_price'), $helper->prepareReplacement()); return $processor->getHtml(); } $processor->process('related', array('products' => $block->getItems())); return $processor->getHtml(); }