Quelle est la meilleure façon de vérifier si un attribut personnalisé existe dans Magento2

9

En faisant attention, je veux vérifier si mon attribut personnalisé existe avant d'essayer de l'utiliser de quelque façon que ce soit. J'ai besoin de vérifier par rapport à la collection de tous les attributs, pas seulement à la collection de produits. Mon attribut peut exister sur un client, un produit ou sur un modèle personnalisé de ma propre création.

Dans magento 1.x, j'utiliserais ce qui suit:

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

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

Je ne trouve rien qui fasse explicitement quelque chose comme ça

CarComp
la source
Essayez ceci, cela peut vous aider webmull.com/…
Magento 2

Réponses:

9

Vous devez utiliser la \Magento\Eav\Api\AttributeRepositoryInterface::getméthode pour cela.

Par exemple:

try {

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

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

    //  attribute does not exist

}
KAndy
la source
Salut Kandy, comment vérifier l'attribut personnalisé attribué ou non au produit?
Nagaraju K