/** * Limit products collection * * @param Mage_Catalog_Model_Resource_Product_Collection $collection */ public function limitProducts($collection) { $relevantWebsiteIds = $this->_role->getRelevantWebsiteIds(); $websiteIds = array(); $filters = $collection->getLimitationFilters(); if (isset($filters['website_ids'])) { $websiteIds = (array) $filters['website_ids']; } if (isset($filters['store_id'])) { $websiteIds[] = Mage::app()->getStore($filters['store_id'])->getWebsiteId(); } if (count($websiteIds)) { $collection->addWebsiteFilter(array_intersect($websiteIds, $relevantWebsiteIds)); } else { $collection->addWebsiteFilter($relevantWebsiteIds); } }