Wie kann ich die Attributoptionswerte von eav entity abrufen?
Ich habe nur für Magento 1.x eine Lösung gefunden, aber M2 kenne ich nicht.
M1:
$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0];
$attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']);
$src = $attributeModel->getSource()->getAllOptions();
Wer weiß, zeig es mir Schritt für Schritt, bitte! Danke!
\Magento\Eav\Api\Attribute RepositoryInterface
. Alles, was nicht als @api markiert ist, wird als privat behandelt und kann in kleineren Releases entfernt werden.Rufen Sie dazu einfach den folgenden Code in Ihrer Block-Datei auf.
Rufen Sie in Ihrer HTML-Datei,
Vielen Dank.
quelle
swatch
Eingaben wie konfiguriert sindcolor
. DiegetOptions()
Methode ist für bestimmte Eingabetypen, wie z. B. "Dropdowns", fest programmiert, sodass die Farbfelderingabeoptionen übersprungen werden. Nur ein Köpfchen, wenn sich jemand anders darum kümmert.Verwenden Sie den folgenden Code, um alle Attributoptionen abzurufen.
Bitte können Sie hier für eine genauere Erklärung klicken. http://www.pearlbells.co.uk/code-snippets/get-magento-attribute-options-programmatically/
quelle
Ich verwende den
Magento\Eav\Api\AttributeRepositoryInterface
von @kandy vorgeschlagenen Api-Service-Layer in Kommentaren zur @marius-Antwort.Fügen Sie das Servicedatenelement in Ihren Konstruktor wie folgt ein.
Und das können Sie das Attribut mit diesem bekommen.
Verwenden Sie diese Option, um ein Array mit Attributoptionswerten abzurufen.
quelle
Injizieren Sie eine Instanz von
\Magento\Catalog\Model\Product\Attribute\Repository
in Ihrem Konstruktor (in einem Block, einer Hilfsklasse oder wo auch immer):Erstellen Sie dann eine Methode in Ihrer Klasse, um das Attribut per Code abzurufen:
Sie können diese Methode dann wie folgt aufrufen, z. B. in einer .phtml-Datei
Anschließend können Sie das Attributobjekt aufrufen, z
$attribute->getOptions()
$attrTest->getFrontendLabels()
echo '> ' . print_r($attrTest->debug(), true);
quelle
quelle