Se si desidera ottenere un set selettore di attributo nel vostro Magento System Admin> Configurazione questa classe sarà utile:
class CompanyName_ModuleName_Model_System_Config_Source_Catalog_Product_Attributeset
{
protected $_options = array();
public function toOptionArray()
{
if (!count($this->_options)) {
$entityTypeId = Mage::getResourceModel('catalog/product')->getTypeId();
$attributeSetCollection = Mage::getResourceModel('eav/entity_attribute_set_collection')
->setEntityTypeFilter($entityTypeId);
foreach ($attributeSetCollection as $_attributeSet) {
$this->_options[] = array(
'value' => $_attributeSet->getId(),
'label' => $_attributeSet->getAttributeSetName()
);
}
}
return $this->_options;
}
}
Questi attributo imposta sono limitati dalla catalog_product tipo di entità.
Infatti sarà necessario il campo nel system.xml come questo:
<select_attribute_set translate="label">
<label>Default Attribute Set for new importing products</label>
<frontend_type>select</frontend_type>
<source_model>companyname_modulename/system_config_source_catalog_product_attributeset</source_model>
<sort_order>30</sort_order>
<show_in_default>1</show_in_default>
</select_attribute_set>
fonte
2015-07-23 14:00:00
Perfetto! Molte grazie :) –
Il codice restituisce tutti i set di attributi. Volevo solo quelli che sono stati visti in "Ammin.> Attributi> Gestisci set di attributi". Aggiungi alla collezione: // Siamo interessati solo a set che possono essere utilizzati per prodotti, aggiungere un filtro. // Basato su Mage_Adminhtml_Block_Catalog_Product_Attribute_Set_Grid -> _ prepareCollection() e // Mage_Adminhtml_Catalog_Product_SetController -> _ setTypeId() $ entity_type = Mage :: getModel ('/ Catalogo della merce') -> getResource() -> getTypeId(); $ attributeSetCollection-> setEntityTypeFilter ($ entity_type); NB Affinché ciò funzioni, rimuovere la parte '-> load()'. – Mondane