1

請求書のテンプレートをいくつか変更しました:

/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
              );
    }

例 - 「Nike」が必要なときに 4138 が表示されます

フロントエンドで動作するこれを試してみましたが、エラーが発生しました: Fatal error: Call to a member function getResource() on a non-object

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

では、請求書テンプレートで ID の代わりにラベルを呼び出すにはどうすればよいでしょうか。

PS私もgetData/getLabel/getTextで遊んでみました

4

1 に答える 1

1

関数を使用して、属性のラベルを取得できますgetAttributeText()。例えば:

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

また、コードの 2 番目のビットで表示されているエラーは、$_product未定義/null を使用しているためだと思います。$product代わりに試してください。

于 2012-12-16T14:52:19.960 に答える