Wie wird der Dropdown-Attributwert mit der Methode getData () in Magento 2 angezeigt?


9

Wenn ich versuche, Daten aus dem Materialattribut wie $_product->getData('material')abzurufen, wird der ganzzahlige Wert angezeigt. Wie kann ich es in den tatsächlichen Front-End-Wert konvertieren und in welcher Datei muss ich die Änderungen vornehmen?

Antworten:


12

Stattdessen müssen getData()Sie getAttributeText('attribute_code')für Dropdown-Attribute verwenden. mögen

$_product->getAttributeText('material');

Versuchen Sie für Mehrfachauswahl Folgendes:

$result = $_product->getResource()->getAttribute('material')->getFrontend()->getValue($_product);

Material hat Mehrfachauswahlwerte und gibt die Werte wie 25,19,15 auf 'getData ()' an, wobei getAttributeText ('material') beim Laden eine leere Seite ergibt

@Hemant, überprüfe meine aktualisierte Antwort einmal und lass es mich wissen.
— Ashish Jagnani

product-> getResource () scheint veraltet zu sein
— Alex

Außerdem sollten wir sicherstellen, dass das benutzerdefinierte Attribut in seiner Attributeigenschaft sichtbar ist.
— Thowzif

1
Hallo, ich versuche das Attribut "Barcode" zu erhalten, aber das Ergebnis ist "null". Wo liegt der Fehler? $ product-> getAttributeText ('Barcode')
— Silber

7

So rufen Sie den Wert des Attributs ab Verwenden Sie:

$this->getProduct()->getAttributeText('material');

Oder

$this->getProduct()->getResource()->getAttributeRawValue($this->getProduct()->getId(),'material',$this->_storeManager->getStore()->getId());

product-> getResource () scheint veraltet zu sein
— Alex

$this->getProduct()->getResource()->getAttributeRawValue($this->getProduct()->getId(),'material',$this->_storeManager->getStore()->getId());arbeitet an v2.3.4-p1
— Asrar

5

Sie können Produktattributoptionswerte durch folgenden Code erhalten

$_product->getAttributeText('material');

Sie können Mehrfachauswahloptionswerte von erhalten

$_attributeValue = $block->getProduct()->getResource()->getAttribute('sizing_guidelines')->getFrontend()->getValue($block->getProduct());

Sorry Material hat Multi-Select-Werte und es gibt die Werte wie 25,19,15

Versuchen Sie meine Updates Antwort
— Suresh Chikani

Ich habe versucht, es gibt leere Seite

Haben Sie eine Lösung dafür und sagen Sie mir, welche Datei es versucht.
— Suresh Chikani

Ich versuche, Daten in der HTML-Vorlage zu erhalten

1
$_product->getAttributeText('material');

ist die richtige Antwort --- Vorsicht, $ _product-> getResource () ist eine veraltete Funktion

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.