¿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


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

}

Hola Kandy, ¿cómo verificar el atributo personalizado asignado o no para el producto?
Nagaraju K
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.