2012-12-16 62 views
1

我已經做了一些發票模板修改:Magento的:轉換屬性ID爲標籤上的發票

/Mage/Sales/Model/Order/Pdf/Items/Invoice/Default.php 

允許自定義屬性,如製造商在發票上。

此代碼的工作,但它吐出來的是製造商ID,我需要的標籤。

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $this->getSku($item), array('manufacturer')); 

      if ($product) { 
      $lines[0][] = array(
       'text' => Mage::helper('core/string')->str_split($manufacturer, 15), 
       'feed' => 220 
      ); 
    } 

EG - 我得到4138時,我需要「耐克」

我已經試過這這將在前端工作,但我得到一個錯誤:致命錯誤:調用一個成員函數getResource()在非對象上

$_product->getResource()->getAttribute('pos_short_colour')->getFrontend()->getValue($_product) 

那麼如何在發票模板中調用標籤而不是ID。

P.S.我也試着玩弄的getData/getLabel/gettext的

回答

1

您可以通過使用getAttributeText()函數獲取屬性的標籤。例如:

$text = $product->getAttributeText('manufacturer'); 

此外,你與你的代碼,我相信第二位看到的錯誤是因爲你使用$_product,這是不確定的/空。嘗試$product代替。