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"');
 }