getAllOptions
retourne un tableau alors que nous avons besoin d'une collection ou d'une requête pour travailler avec. Cette première partie rejoint cette collection avec la table attributaire correspondante, normalement ce n'est pas une bonne idée de le faire manuellement alors soyez prudent.
$entity = 'catalog_product';
/* @var $options Mage_Eav_Model_Mysql4_Entity_Attribute_Option_Collection */
$options = Mage::getResourceModel('eav/entity_attribute_option_collection')
->setAttributeFilter($id)
->setStoreFilter(0);
$options->getSelect()->join(
array('ints'=>"{$entity}_entity_int"),
'(ints.value=store_value.value_id) AND (ints.attribute_id=main_table.attribute_id)',
''
)->group('option_id');
Maintenant, vous pouvez simplement parcourir les options,
/* @var $option Mage_Eav_Model_Entity_Attribute_Option */
foreach ($options as $option) {
echo $option->getValue();
}
... ou convertir en tableau pour obtenir où vous avez commencé.
foreach ($options->toOptionArray() as $option) {
echo $option['label'];
}
Cela ne donne aucun résultat. – Chris