2013-04-04 227 views
0

我一直在尋找所有的答案。我一直在使用Magento大概一週,Im正在修復一大堆我們搞砸了的模板。無論如何,我現在在一個地方,應該很容易,但它不工作。我需要訪問和自定義屬性...此代碼的作品。無法訪問自定義屬性

標準屬性

$_product->getName() 

但是這個代碼不會。「設計師」的自定義屬性

$_product->getDesigner() 

從開發原代碼就這個..但是這個代碼也不能工作大聲笑

$_helper->productAttribute($_product, $_product->getDesigner(), 'designer'); 

任何幫助將是偉大的感謝傢伙!

回答

2

如何獲得$ _product?也許你需要加載。

$ _product = Mage :: getModel(「catalog/product」) - > load($ _ product-> getId());

Magento在加載之前不加載模型的所有屬性。

嘗試通過Mage :: log($ _ product-> getData())記錄產品中的所有數據。

+1

只是試圖$ _product2 = Mage :: getModel(「catalog/product」) - > load($ _ product-> getId()); $ designer = $ _product2-> getDesigner();仍然沒有...也檢查$ _product&$ _product2的日誌,並沒有看到我的設計師的自定義屬性的任何東西 – Banning 2013-04-04 21:19:55

+0

這裏是開發人員如何獲得產品btw ... <?php $ _products = $ this- > getProductCollection(); ?>然後他做了一個foreach循環foreach($ _products-> getItems()as $ _product) – Banning 2013-04-04 21:20:45

+0

OMG ...好的使用你的解決方案修復了破損的代碼,但是我檢查的項目沒有設計器設置.. 。我以爲他們都有這個領域設置對不起......大聲笑可能有這個小時前解決,如果我會考慮檢查出 – Banning 2013-04-04 21:53:01

1

確保$_productMage_Catalog_Model_Product一個實例,或將其與$_product = Mage::getModel("catalog/product")->load($_product->getId())

除了設置爲一到$_product->getDesigner()的「神奇」的getter你可以使用getData()代替:

$_product = Mage::getModel("catalog/product")->load($_product->getId()); 
$_designer = $_product->getData('designer');