2017-09-13 1 views
0

En essayant d'accomplir une boîte de sélection avec l'option multiple-choisissez dans le backend des catégories.Étendre le groupe d'attributs de catégorie avec la boîte de sélection (multiple choisir)

Le script pour créer une zone de sélection fonctionne jusqu'à présent, mais uniquement avec un seul choix.

$installer = $this; 
$installer->startSetup(); 

$attribute = array(
     'group'      => 'Examplegroup', 
     'input'      => 'select', // also tried multiselect 
     'type'      => 'varchar', 
     'label'      => 'Examplelabel', 
     'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
     'visible'     => 1, 
     'required'     => 0, 
     'visible_on_front'   => 0, 
     'is_html_allowed_on_front' => 0, 
     'is_configurable'   => 0, 
     'searchable'    => 0, 
     'filterable'    => 1, 
     'comparable'    => 0, 
     'unique'     => false, 
     'user_defined'    => true, 
     'default'     => '', 
     'is_user_defined'   => false, 
     'used_in_product_listing' => true, 
     'option'     => array('values' => array('option1', 'option2', 'option3', 'option4')) 
); 
$installer->addAttribute('catalog_category', 'attribute_name', $attribute); 


$installer->endSetup(); 

Comment puis-je obtenir ce

multiselect

je suppose qu'il doit travailler avec l'entrée de type de multiselect mais il garde un seul choix-option après la mise à niveau.

Répondre

1

Pour l'option multisélect, définissez input sur multiselect et ajoutez backend modèle eav/entity_attribute_backend_array.

$installer = $this; 
$installer->startSetup(); 

$attribute = array(
     'group'      => 'Examplegroup', 
     'input'      => 'multiselect', 
     'type'      => 'varchar', 
     'label'      => 'Examplelabel', 
     'backend'     => 'eav/entity_attribute_backend_array', 
     'global'     => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
     'visible'     => 1, 
     'required'     => 0, 
     'visible_on_front'   => 0, 
     'is_html_allowed_on_front' => 0, 
     'is_configurable'   => 0, 
     'searchable'    => 0, 
     'filterable'    => 1, 
     'comparable'    => 0, 
     'unique'     => false, 
     'user_defined'    => true, 
     'default'     => '', 
     'is_user_defined'   => false, 
     'used_in_product_listing' => true, 
     'option'     => array('values' => array('option1', 'option2', 'option3', 'option4')) 
); 
$installer->addAttribute('catalog_category', 'attribute_name', $attribute); 


$installer->endSetup(); 

Exécutez le script de mise à niveau suivante pour mettre à jour les attributs existants,

$installer->startSetup(); 

$installer->updateAttribute('catalog_category', 'attribute_name', 'frontend_input', 'multiselect'); 
$installer->updateAttribute('catalog_category', 'attribute_name', 'backend_model', 'eav/entity_attribute_backend_array'); 

$installer->endSetup(); 

Vérifier beforeSave fonction de Mage_Eav_Model_Entity_Attribute_Backend_Array classe pour obtenir plus d'idée de modèle de back-end.

J'espère que ça aide!

+0

C'est exactement ce que je voulais. Merci mon pote! – Slatyoo