Comment obtenir Attribute model
(depuis:eav_attribute
table) par attribute_code
dans Magento?
Remarquer:
- Je me fiche de ce qu'est entity_type.
Merci beaucoup.
Vous devez connaître entity_type
car vous pouvez avoir le même attribute_code
pour différentes entités. Donc, pour obtenir un modèle d'attribut:
$attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode($entity_type, $attributeCode);
Le paramètre $entity_type
peut être numeric
(id directement), string
(par exemple 'catalog_product'
ou Mage_Catalog_Model_Product::ENTITY
) ou il peut s'agir d'une instance du modèle Mage_Eav_Model_Entity_Type
Peut-être que vous pouvez lire les attributs en filtrant la collection
Mage::getModel('eav/entity_attribute')->getCollection()->addFieldToFilter('attribute_code', array('in' => $codes) )
Puisque j'ai besoin des attributs du produit par code, je le fais comme ceci:
$codes = (array) $codes;
$res = array_intersect_key($this->getAttributes(), array_flip($codes));
$ codes est un tableau de codes d'attributs Portée: étendue Mage_Catalog_Model_Product
$attribute_code = "flat_printing_quantity";
$attribute_details =
Mage::getSingleton("eav/config")->getAttribute(Mage_Catalog_Model_Product::ENTITY, $attribute_code);
$attribute = $attribute_details->getData();
echo $attribute['attribute_id'];
$ attributModel = Mage :: getModel ('eav/entity_attribute') -> loadByCode (1, 'is_approved'); echo $ attributeModel-> getAttributeId ();