2016-11-24 4 views
1

Ich versuche, nur Produktname mit der Produkt-ID zu erhalten.Wie bekomme ich den Produktnamen in Magento?

Ich habe die unten versucht:

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

Es lädt das gesamte Ressourcenobjekt und als wir den Namen mit $product->getName() bekommen können, aber ich brauche nur einzelne Namen, so können wir die zusätzlich Gemeinkosten reduzieren.

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

Es lädt auch das Ressource-Objekt.

Gibt es einen einfachen Weg, um den Produktnamen zu erhalten (zum Beispiel "Produkt testen"), ohne das Ressourcenobjekt zu laden?

Antwort

1

Verwendung getAttributeRawValue() Mit diesem können Sie den Attributwert Ihres Produktes erhalten:

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

Wir brauchen auch speichern Wert zu übergeben Produkt-Attribut direkt von Ressourcenmodell zu erhalten. Sie können Speicher-ID erhalten, indem Sie diesen Code verwenden: - Mage::app()->getStore().

die letzte Abfrage wird also sein: -

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

Während dieser Code-Schnipsel, die Frage lösen, einschließlich eine Erklärung wirklich die Qualität der Post zu verbessern hilft. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. –

+0

Danke für Ihren Vorschlag. –

1

die Sie interessieren, hoffen, dass es für Sie arbeiten.

Try this:

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

Sie können versuchen, diese für das Produkt

$id = $this->getRequest()->getParam('id'); 
$current_product=Mage::getModel('catalog/product')->load($id); 
Verwandte Themen