Если вы посмотрите на 'Mage_Reports_Block_Product_Viewed', вы заметите:
$this->setRecentlyViewedProducts($this->getItemsCollection());
, что метод 'getItemsCollection' определен в абстрактном классе ... И вы заметите, что этот абстрактный класс создаст модель на основедля $ _indexName, определенного в (подклассе) блоке.
Если вы просто хотите получить коллекцию, вы, вероятно, можете обойтись следующим образом:
$_products = Mage::getModel('reports/product_index_viewed')->getCollection();
И затем добавить все, что вы хотите в коллекцию:
$_products
->addAttributeToSelect('*')
->setAddedAtOrder();
// optionally add other methods similar to Mage_Reports_Block_Product_Abstract::getItemsCollection
Другим подходом, который может быть более подходящим, будет создание исходного блока:
$productViewedBlock = $this->getLayout()->createBlock('reports/product_viewed');
, для которого вы можете просто позвонить как хотите:
$_collection = $productViewedBlock->getItemsCollection();
$_count = $productViewedBlock->getCount();