phpmagentoconfigurable-product

Add new attribute to existing configurable product magento


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?


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