2014-01-24 210 views
3

我遇到問題,我想在產品頁面中顯示自定義屬性的標籤。 我更好地解釋我,從這個環節開始,因爲是我想做的事: http://www.customy.com/blog/how-to-display-video-on-magento-product-page/magento獲取自定義屬性標籤

我想在產品頁面的側邊欄的視頻產品,所以我創建了一個新的custompage.phtml,我把這個從catalog.xml中的側邊欄,在我custompage.phtml我把這段代碼有自定義標籤:

的getResource() - >的getAttribute( '視頻') - > getStoreLabel();>

,但我有嗎?此錯誤:

「致命錯誤:調用成員函數getResource()在..path中的非對象//」

我試過不同的代碼,但仍然有這個問題。 我想我忘了把東西放在我的.phtml中,但我是Magento的新手,我不知道該怎麼做!

預先感謝!

回答

4

由於$ _product無法正常工作,因此在嘗試訪問屬性之前需要加載對象。試試這個:

$product_id = Mage::registry('current_product')->getId(); 
$_product=Mage::getModel('catalog/product')->load($product_id); 
echo $_product->getResource()->getAttribute('video')->getStoreLabel(); 
+0

您好,非常感謝您的回答,我都試過兩個錯誤是一樣的.... –

+0

我已經編輯我的答案。試試看。 – seanbreeden

+0

你好,它的作品!非常感謝你! –

1

如果您沒有訪問產品模型,我寫了一個小的查詢,以便從數據庫得到它。這可以做的更好,但應該是你的類像樣的起點:

protected $_dbConn; 

public function __construct() 
{ 
    $this->_dbConn = Mage::getSingleton('core/resource')->getConnection('core_read'); 
} 

public function getAttributeLabel($code) 
{ 
    $query = " 
    SELECT b.value 
    FROM eav_attribute a 
    JOIN eav_attribute_label b 
    ON a.attribute_id = b.attribute_id 
    WHERE a.attribute_code = '".$code."'"; 

    return $this->_dbConn->fetchOne($query); 
}