Question

I have around 500 configurable products that I need to add a new attribute to.

For example, they already have Color as an attribute. How would I go about adding Size to the existing configurable products?

Was it helpful?

Solution

Adding the attribute to the attribute set and then updating all the simple products' attributes is not sufficient. Magento asks what 'configurable attributes' to use when you initially create a configurable product; the new attribute will therefore not be applied to existing configurable product(s) and their child products. I've tested the below DB workaround hack on CE 1.6.2 and it seems to be working:

  1. Create attribute
  2. Drag it to appropriate attribute set
  3. Go to phpmyadmin, table ‘catalog_eav_attribute’ and look at the last one, note the ‘attribute id’, also note the product id -> go to catalog_product_entity and look for the configurable product you want, and note entity_id -> this is the product_id
  4. Go to catalog_product_super_attribute and insert new record with product_id and attribute_id, note of the product_super_attribute_id
  5. Go to catalog_product_super_attribute_label and insert new record with product_super_attribute_id and the value of your new attribute, like ‘Color’ or ‘Size’ which you used when adding the attribute in the admin
  6. Go back to admin and click the configurable product, you will notice none of your child products is associated to your configurable product.
  7. Click one of the child products, and select appropriate attribute value, you may also change the sku.
  8. Export all child products and add the new attribute and sku values to it, import it back and you are done or you may have to manually change all in the admin without using the dataflow.

credit: http://www.magentocommerce.com/boards/viewthread/43288/#t330918

OTHER TIPS

You define this attribute in attribute set that is used and then update all products with dataflow

If size is an intended configurable attribute, I'm not sure this will be so easy. Magento does not allow you to redefine the attributes upon which an item is configurable after creation time.

After creating the attribute and adding it to the attribute set, you'll probably need to hack it at the database level to make the attribute configurable. That means your simple child products will also need modification to have a size attribute.

Good luck. Make sure to come back and tell us what you did to make it work.

Thanks, Joe

Try adding attribute when a editing product rather than in the 'Manage Attributes" section.

For me it then auto adds itself into that products Attribute set and also to all other products in that attribute set.

Actually i have no trouble now using the 'Manage Attributes' section to add new attributes.

There is dirty hack to open configurable product then chose duplicate, select old and new attribute, duplicate is made without SKU, then delete original configurable product and simple products. After that you can give same SKU to duplicate. Then you just need to make new simple products.

It's fast workaround if there are not that many simple products.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top