Jak najlepiej sprawdzić, czy niestandardowy atrybut istnieje w Magento2

9

Uważając, chcę sprawdzić, czy mój atrybut niestandardowy istnieje, zanim spróbuję go użyć w jakikolwiek sposób. Muszę sprawdzić wszystkie kolekcje atrybutów, a nie tylko kolekcję produktów. Mój atrybut może istnieć na kliencie, produkcie lub na niestandardowym modelu mojego własnego dzieła.

W Magento 1.x użyłbym:

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

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

Nie mogę znaleźć niczego, co wyraźnie robi coś takiego

CarComp
źródło
Spróbuj tego, może ci pomóc webmull.com/…
Magento 2

Odpowiedzi:

9

W tym celu potrzebujesz \Magento\Eav\Api\AttributeRepositoryInterface::getmetody.

Na przykład:

try {

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

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

    //  attribute does not exist

}
KAndy
źródło
Cześć Kandy, jak sprawdzić niestandardowy atrybut przypisany lub nie dla produktu?
Nagaraju K,