Comment Magento peut-il trouver une valeur d' attribut par une étiquette d'attribut donnée ou un identifiant d'attribut donné?
Comment Magento peut-il trouver une valeur d' attribut par une étiquette d'attribut donnée ou un identifiant d'attribut donné?
Réponses:
$productModel = Mage::getModel('catalog/product');
$str_attr_label = "color"; //or "size", etc...
$int_attr_id = 8; // or any given id.
$int_attr_value = 21; // or any given attribute value id.
// Chose either
if ($byLabel){
$attr = $productModel->getResource()->getAttribute($str_attr_label);
}
if ($byId){
$attr = Mage::getModel('catalog/resource_eav_attribute')->load($int_attr_id);
}
if ($attr->usesSource()) {
echo $color_label = $attr->getSource()->getOptionText($int_attr_value);
}
Autrement dit - utilisez la méthode getAttributeText .
$product->getAttributeText('brand')
Dans le cas où quelqu'un trouve cette page et souhaite des méthodes bas de recherche d'attributs de toute nature, au lieu de simplement des attributs de produit, voici un exemple pour rechercher un attribut aléatoire que j'ai créé qui est appelé `` spécialité '' et répertorier toutes les options comme un tableau.
$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0];
$attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']);
$src = $attributeModel->getSource()->getAllOptions();