Was ist der beste Weg, um zu überprüfen, ob in Magento2 ein benutzerdefiniertes Attribut vorhanden ist?

9

Um vorsichtig zu sein, möchte ich überprüfen, ob mein benutzerdefiniertes Attribut vorhanden ist, bevor ich versuche, es in irgendeiner Weise zu verwenden. Ich muss alle Attributsammlungen überprüfen, nicht nur die Produktsammlung. Mein Attribut kann für einen Kunden, ein Produkt oder ein benutzerdefiniertes Modell meiner eigenen Kreation vorhanden sein.

In Magento 1.x würde ich Folgendes verwenden:

$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getFirstItem();

if ($attr->getAttributeId() > 0) {
 Do some stuff....'

Ich kann nichts finden, was explizit so etwas tut

CarComp
quelle
Versuchen Sie dies, es kann Ihnen helfen, webmull.com/…
Magento 2

Antworten:

9

Sie benötigen hierfür eine \Magento\Eav\Api\AttributeRepositoryInterface::getMethode.

Zum Beispiel:

try {

   $attribute = $this->attributeRepository->get($entityType, $attributeCode);

} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {

    //  attribute does not exist

}
KAndy
quelle
Hallo Kandy, wie kann man das benutzerdefinierte Attribut überprüfen, das dem Produkt zugewiesen wurde oder nicht?
Nagaraju K