什么是检查Magento2中是否存在自定义属性的最佳方法


9

为谨慎起见,我想先检查自定义属性是否存在,然后再尝试以任何方式使用它。我需要检查所有属性集合,而不仅仅是产品集合。我的属性可能存在于客户,产品或我自己创建的自定义模型上。

在magento 1.x中,我将使用以下内容:

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

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

我找不到任何明确执行此类操作的内容


试试这个可能帮你webmull.com/...
Magento的2

Answers:


9

您需要使用\Magento\Eav\Api\AttributeRepositoryInterface::get方法。

例如:

try {

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

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

    //  attribute does not exist

}

嗨,康提,如何检查为产品分配的自定义属性?
Nagaraju K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.