2010-08-06 81 views
2

我目前在我的頁腳列表中顯示「最受關注」產品的集合。我使用以下代碼獲得集合:Magento平板產品表 - 檢索「查看次數最多」的產品名稱

$_viewed_productCollection = Mage::getResourceModel('reports/product_collection') 
->addAttributeToSelect('*') 
->addViewsCount() 
->setOrder('views_count', 'desc') 
$_viewed_productCollection->load(); 

此工作正常,直到我啓用平板產品,然後它不能再檢索產品名稱或價格。但它仍然可以得到的網址,sku等,這真讓我困惑。我打印出來的可以退換什麼陣,似乎沒有名稱的數據也沒有,只有以下:

Array (  
[views] => 29  
[entity_id] => 18  
[entity_type_id] => 10  
[attribute_set_id] => 38  
[type_id] => simple  
[sku] => sw810i  
[created_at] => 2007-08-23 15:47:44  
[updated_at] => 2008-08-08 14:50:56  
[has_options] => 0  
[required_options] => 0  
[is_salable] => 1  
[stock_item] => Varien_Object Object   
([_data:protected] => Array     
([is_in_stock] => 1)    
[_origData:protected] =>    
[_idFieldName:protected] =>    
[_isDeleted:protected] =>)  
[gift_message_available] => 2 
) 

反正是有得到一個產品名稱中使用它的SKU?也許這樣的東西:

<?php $sku = $_product->getData('sku'); echo $this->htmlEscape($_product->getName($sku)) ?> 

回答

2

我認爲這實際上是一個錯誤,爲什麼你不能獲得產品名稱?所以,我提出它是這樣:

http://www.magentocommerce.com/bug-tracking/issue?issue=9812

我沒有想出解決類似的問題,如果有人需要它:

<?php foreach ($_productCollection as $_product): ?> 
     <?php $sku = $_product->getData('sku'); $_currentproduct = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku); ?> 
     <li><a href="<?php echo $_product->getProductUrl() ?>"><?php echo $this->htmlEscape($_currentproduct->getName()) ?></a></li> 
<?php endforeach; ?> 

基本上你只是使用的SKU,您可以直接從產品集合中獲取,以單獨加載名稱。