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?

Haerriz
quelle

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);
Ashish Jagnani
quelle
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());
Sameer Bhayani
quelle
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());
Suresh Chikani
quelle
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

Alex
quelle