Определение идентификатора набора атрибутов по умолчанию


В установке Magento по умолчанию установлен атрибут "По умолчанию". У вас нет возможности удалить этот набор атрибутов с помощью графического интерфейса администратора (кнопка Удалить скрыта для этого набора). Я не нашел что-то вроде системного флага или других особенностей для этого набора в eav_attribute_set. Мне нужна возможность программно определять идентификатор этого набора атрибутов в разных установках. Может быть, кто-то столкнулся с подобной задачей и мог бы дать мне ключ к разгадке. Спасибо

Author: Yaroslav Rogoza, 2013-10-12

2 answers

Это должно дать вам то, что вам нужно:

Mage::getModel('catalog/product')->getDefaultAttributeSetId();

Дополнительная информация: Идентификатор набора атрибутов по умолчанию хранится в таблице eav_entity_type для каждой сущности. Для объектов, связанных с продажами, это значение равно 0, потому что теперь они хранятся в плоских таблицах. Но до ce-1.4.0.1 они также были подслушивающими и имели набор атрибутов.

 14
Author: Marius, 2013-10-12 11:26:34

Лучшим ответом было бы следующее:

Mage::getModel('my_module/my_entity')->getResource()->getEntityType()->getDefaultAttributeSetId();

Ответ Мариуса также хорош, но работает только для продуктов, а не для пользовательских моделей прослушивания, которые вы, возможно, создали.

Мой ответ работает для всех типов подслушивающих устройств, включая пользовательские.

 4
Author: Wouter, 2014-09-25 13:13:57