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.