I have a setup where I'm using shipping on basis of product weight, using Magento CE 1.9. I have setup a simple product with some custom options, now my issue is that Magento does not support a weight per custom option.

I've now modified the code by adding a text input for the weight and when submitting the form, it does send the data to the database, the table is catalog_product_option_type_weight which is a copy of the catalog_product_option_type_title. My problem is when going back to edit the product options, the values from the database do not get populated in the newly created field.

I debugged also the frontend and seems that the weight is missing from the product object also there. Could anyone point me to the correct direction, which files to modify and how to get also the weight populated like the other fields (title, price, price type)enter image description here?

I've modified the core files, I know that is not recommended but in this case I'm not intending to upgrade Magento.

  • Do you know that each product had default attribute called weight? Is there a specific reason you want to use a custom option?
    – user4351
    Commented Nov 5, 2014 at 8:01
  • Yes but that is for main product; what I need to have is like for example a product is sold in different sizes of packages which obviously will weight differently. Shipping costs need to be calculated on basis of that. Using a configurable product is not a feasible solution because there are around 8000 products with almost half of them with different sets of options, that would mean 4000 attribute sets which is impossible to maintain as no-one would remember which attribute set is for which product. Commented Nov 5, 2014 at 8:55
  • I don't understand why this would result in that many attribute sets. Attribute sets are formed based on the different attributes, not their difference in values. If you have products supporting 10, 20 and 50 ml, and others 30, 60 and 90ml, it is still one attribute volume.
    – user4351
    Commented Nov 6, 2014 at 7:57

1 Answer 1


I would suggest to use a configurable product instead of product options for this. You then need to create the different simple products where you can assign the weight and price. This also allows you to manage your stock for each weight package (if you want to). These simple products are then assigned to the configurable product so the customer gets to select the weight he needs. Because the order is created with the simple product where the weight is entered you can calculate the shipping based on the weight.

  • 2
    I was considering that option as well but it will be difficult as the shop has around 8000 products and like half of them will have distinct sets of custom options. This would mean that editors would need to first add a simple product for each option and then add around 4000 different Attribute Sets; it would be impossible to remember which one is for which product. Also in this case, it is feasible for the stock to be managed by the product, not the individual options. Can you or someone else please point me to the correct direction where to look for the code :) Commented Nov 5, 2014 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.