2016-11-24 8 views
1

商品IDを使用して商品名のみを取得しようとしています。マゼンタで製品名を取得するには?

私は以下試してみました:

$product = Mage::getModel('catalog/product')->load(PRODUCT_ID); 
$product->getName(); 

それは全体のリソースオブジェクトをロードし、私たちは余分なオーバーヘッドを減らすことができますので、我々は$product->getName()を使用して名前を取得することができますが、私は唯一の単一の名前を必要以上に。

$product = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('name')->addAttributeToFilter('entity_id', PRODUCT_ID)->load(); 

また、リソースオブジェクトもロードされます。

リソースオブジェクトをロードせずに製品名(exa。「テスト製品」)を取得する最も簡単な方法はありますか?

答えて

1

これにより使用getAttributeRawValue()あなたはあなたの製品の属性値を取得できます。

$attribute_value = Mage::getResourceModel('catalog/product')->getAttributeRawValue(PRODUCT_ID, 'attribute_code'); 
0

我々は、リソース・モデルから直接、製品の属性を取得するだけでなく店舗の値を渡す必要があります。 あなたはこのコードを使用することにより、店舗IDを取得することができます: - Mage::app()->getStore().

ので、最終的なクエリは次のようになります -

$attribute_value = Mage::getResourceModel('catalog/product')->getAttributeRawValue(PRODUCT_ID,'attribute_code',Mage::app()->getStore()); 
+0

。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –

+0

あなたの提案をありがとう。 –

1

、それはあなたのために仕事願っています、これを試してみてください。

はこれを試してみてください:

$product = Mage::registry('current_product'); then 
$product->getName(); 
$product->getId(); 

あなたが製品のためにこれを試すことができます。このコードスニペットは、本当にあなたのポストの品質を向上させることができます説明を含め、問題を解決することができるが

$id = $this->getRequest()->getParam('id'); 
$current_product=Mage::getModel('catalog/product')->load($id); 
関連する問題