2010-08-06 77 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,您可以直接从产品集合中获取,以单独加载名称。