Обнаружение идентификатора атрибута по умолчанию
-
16-10-2019 - |
Вопрос
В установке Magento установлен атрибут «по умолчанию». У вас нет возможности удалять этот набор атрибутов, используя графический интерфейс Admin (кнопка «Удалить» скрыта для этого набора). Я не нашел что -то вроде системного флага или других сингулярности для этого набора в EAV_ATTRIBUTE_SET. Мне нужна возможность обнаружить идентификатор этого набора атрибутов программно в разных установках. Может быть, кто -то столкнулся с такой задачей, как эта, и мог дать мне подсказку. Спасибо
Решение
Это должно дать вам то, что вам нужно:
Mage::getModel('catalog/product')->getDefaultAttributeSetId();
Дополнительная информация:Идентификатор набора атрибутов по умолчанию хранится в таблице eav_entity_type
для каждого объекта. Организации, связанные с продажами, имеют этот набор 0, потому что они сейчас хранятся в плоских таблицах. Но до CE-1.4.0.1 они также были EAV и имели набор атрибутов.
Другие советы
Лучшим ответом будет следующее:
Mage::getModel('my_module/my_entity')->getResource()->getEntityType()->getDefaultAttributeSetId();
Ответ Мариуса также хорош, но работает только для продуктов, а не для пользовательских моделей EAV, которые вы, возможно, создали.
Мой ответ работает для всех типов EAV, включая пользовательские.