Qual è il modo migliore per verificare se esiste un attributo personalizzato in Magento2


9

Nel fare attenzione, voglio verificare se il mio attributo personalizzato esiste prima di tentare di utilizzarlo in alcun modo. Devo verificare la raccolta di tutti gli attributi, non solo la raccolta di prodotti. Il mio attributo può esistere su un cliente, un prodotto o un modello personalizzato di mia creazione.

In magento 1.x, utilizzerei quanto segue:

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

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

Non riesco a trovare nulla che faccia esplicitamente qualcosa del genere


Prova questo potrebbe esserti di aiuto webmull.com/…
Magento 2

Risposte:


9

È necessario utilizzare il \Magento\Eav\Api\AttributeRepositoryInterface::getmetodo per questo.

Per esempio:

try {

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

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

    //  attribute does not exist

}

Ciao Kandy, come verificare l'attributo personalizzato assegnato o meno al prodotto?
Nagaraju K,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.