Qual é a melhor maneira de verificar se existe um atributo personalizado no Magento2


9

Ao tomar cuidado, desejo verificar se meu atributo personalizado existe antes de tentar utilizá-lo de alguma forma. Preciso verificar em relação a toda a coleção de atributos, não apenas à coleção de produtos. Meu atributo pode existir em um cliente, um produto ou em um modelo personalizado de minha própria criação.

No magento 1.x, eu usaria o seguinte:

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

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

Não consigo encontrar nada que faça explicitamente algo assim


Tente isso, pode ser ajudá-lo webmull.com/…
Magento 2

Respostas:


9

Você precisa usar o \Magento\Eav\Api\AttributeRepositoryInterface::getmétodo para isso.

Por exemplo:

try {

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

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

    //  attribute does not exist

}

Olá Kandy, como verificar o atributo personalizado atribuído ou não ao produto?
Nagaraju K 10/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.