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


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

}

Salut Kandy, comment vérifier l'attribut personnalisé attribué ou non au produit?
Nagaraju K
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.