首页 > 代码库 > How to change a product dropdown attribute to a multiselect in Magento

How to change a product dropdown attribute to a multiselect in Magento

First, update the attribute input type to multiselect:

UPDATE eav_attribute SETentity_type_id = 4,attribute_model = NULL,backend_model = eav/entity_attribute_backend_array,backend_type = varchar,backend_table = NULL,frontend_model = NULL,frontend_input = multiselect,frontend_class = NULLWHERE attribute_id = YOUR_ATTRIBUTE_ID_HERE;

 

 Next, copy the attribute values from the old table to the new:

INSERT INTO catalog_product_entity_varchar ( entity_type_id, attribute_id, store_id, entity_id, value)SELECT entity_type_id, attribute_id, store_id, entity_id, valueFROM catalog_product_entity_intWHERE attribute_id = YOUR_ATTRIBUTE_ID_HERE;

Finally,  remove the old values or they will conflict with the new setup (the old values will load, but Magento will save new values to the varchar table):

DELETE FROM catalog_product_entity_intWHERE entity_type_id = 4 and attribute_id = YOUR_ATTRIBUTE_ID_HERE;