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


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

}

Hallo Kandy, wie kann man das benutzerdefinierte Attribut überprüfen, das dem Produkt zugewiesen wurde oder nicht?
Nagaraju K
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.