Questo post sarà brevissimo ma risolverà molti problemi e mal di testa a tutti coloro che lavorano su Magento.
Capita spesso di avere la necessità di recuperare il valore di un attributo di un prodotto. Come tutti sanno ogni attributo ha 2 valori quando è associato ad un prodotto: il valore admin e il valore della vista (che è la sua traduzione per quella lingua e/o vista).
Di seguito il metodo per recuperare entrambi i valori (nell’esempio si recupera il valore dell’attributo Manufacturer):
1) Recuperare l’etichetta admin:
[sourcecode language=”php”]
$curProduct = Mage::getModel("catalog/product")->load($_product->getId());
$manufacturerAdminLabel = null;
$_attribute= $curProduct->getResource()->getAttribute("manufacturer");
$_options= $_attribute->getSource()->getAllOptions(true, true);
foreach($_options as $option){
if ($option[‘value’] == $curProduct->getData("manufacturer")){
$manufacturerAdminLabel = $option["label"];
Mage::log($manufacturerAdminLabel);
}
}
[/sourcecode]
2) Recuperare l’etichetta della vista corrente:
[sourcecode language=”php”]
$curProduct->getAttributeText("manufacturer");
[/sourcecode]