Détecter id jeu d'attributs par défaut
-
16-10-2019 - |
Question
Il y a ensemble d'attributs « par défaut » dans l'installation par défaut Magento. Vous avez pas la possibilité de supprimer cet ensemble d'attributs à l'aide d'administration IUG (bouton Supprimer est caché pour cet ensemble). Je ne l'ai pas trouvé quelque chose comme drapeau du système ou d'autres pour cet ensemble singularites dans eav_attribute_set. J'ai besoin d'une capacité à détecter l'ID de cet attribut par programme dans différentes installations. Peut-être quelqu'un face à la tâche comme celui-ci et pourrait me donner la moindre idée. Merci
La solution
Cela devrait vous donner ce que vous avez besoin:
Mage::getModel('catalog/product')->getDefaultAttributeSetId();
Informations complémentaires:
L'identifiant de jeu d'attributs par défaut est stocké dans la table eav_entity_type
pour chaque entité. Les entités liées ventes ont cet ensemble à 0 car ils sont stockés dans des tables plates maintenant. Mais avant ce-1.4.0.1 ils étaient EAV aussi et avait un ensemble d'attributs.
Autres conseils
Une meilleure réponse serait:
Mage::getModel('my_module/my_entity')->getResource()->getEntityType()->getDefaultAttributeSetId();
La réponse de Marius est également bon, mais ne fonctionne que pour les produits et non pour les modèles EAV personnalisés que vous avez créé.
Ma réponse fonctionne pour tous les types de EAV, y compris ceux personnalisés.