¿Cuál es la mejor manera de verificar si existe un atributo personalizado en Magento2?

9

Al tener cuidado, quiero verificar si mi atributo personalizado existe antes de intentar utilizarlo de alguna manera. Necesito verificar la colección de todos los atributos, no solo la colección de productos. Mi atributo puede existir en un cliente, un producto o en un modelo personalizado de mi propia creación.

En magento 1.x, usaría lo siguiente:

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

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

No puedo encontrar nada que explícitamente haga algo como esto

CarComp
fuente
Pruebe esto, puede ser de ayuda webmull.com/…
Magento 2

Respuestas:

9

Necesita usar el \Magento\Eav\Api\AttributeRepositoryInterface::getmétodo para esto.

Por ejemplo:

try {

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

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

    //  attribute does not exist

}
Kandy
fuente
Hola Kandy, ¿cómo verificar el atributo personalizado asignado o no para el producto?
Nagaraju K