function getProductCollectionGroupedByCategory() { if (isset(self::$productCollectionGroupedByCategory)) { return self::$productCollectionGroupedByCategory; } $exclude = $this->getExcludeCategories(); $collection = $this->getProductCollection(); $return = array(); // get product's Ids $ids = array(); foreach ($collection as $product) { $ids[] = $product->getId(); $products[$product->getId()] = $product; } $productCategories = $this->productCategoryHashMap($ids); //// loop over products building formatted array foreach ($productCategories as $row) { $product = $products[$row['product_id']]; $category = $row['category_id']; if (!isset($return[$category])) { $return[$category] = array(); } if (in_array($product, $return[$category])) { continue; } $return[$category][] = $product; } self::$productCollectionGroupedByCategory = $return; return $return; }
function __construct() { parent::__construct(); $this->setTemplate('vf/vaf/group/result.phtml'); }
function getProductCollectionGroupedByCategory() { if (isset(self::$productCollectionGroupedByCategory)) { return self::$productCollectionGroupedByCategory; } $exclude = $this->getExcludeCategories(); $collection = $this->getProductCollection(); $return = array(); // get product's Ids $ids = array(); foreach ($collection as $product) { $ids[] = $product->getId(); $products[$product->getId()] = $product; } // get product ID <-> category ID array $select = Elite_Vaf_Helper_Data::getInstance()->getReadAdapter()->select()->from('catalog_category_product_index', array('category_id', 'product_id'))->where('product_id IN (' . implode(',', $ids) . ')')->group('category_id', 'product_id'); $productCategories = $select->query()->fetchAll(); //// loop over products building formatted array foreach ($productCategories as $row) { $product = $products[$row['product_id']]; $category = $row['category_id']; // skip the root category IDs if ($category == Mage::app()->getStore()->getRootCategoryId()) { continue; } if (isset($return[$category]) && in_array($return[$category], $product)) { continue; } $return[$category][] = $product; } self::$productCollectionGroupedByCategory = $return; return $return; }
function __construct() { parent::__construct(); $this->setTemplate('catalogsearch/result.phtml'); }
function testShouldTranslateNoResultsMessage() { $block = new Elite_Vaf_Block_Product_Result(); $this->assertEquals('No matches found.', $block->getNoResultText(), 'should translate "no results message"'); }