1

This may seem a somewhat strange question, but I'm going to ask anyway. I'm currently building a Magento store (CE 1.9) for a client who has an unusual requirement for shipping price calculation.

I need to be able to calculate a shipping price based on how many different values there are for a given product attribute, set within the products contained in the shopping cart, as part of the normal checkout process.

My first thought was that table rate might solve this, however I cannot find a way to achieve the desired result.

I'll try to explain what I need...

  • Shipping on the site would use a 'base' shipping price of £6.95.

  • The contents of the shopping cart would be reviewed and a list of all 'manufacturer' product attributes would be made, from which all duplicate values would be removed.

  • The base price would then be multiplied by the number of values in the 'manufacturer' attribute list.

For example, if there were 4 values in the attribute list, the shipping cost would be £27.80.

Any advice on how this could be achieved would be much appreciated.

Thank you!

Paul

2

In short: yes it's possible but no there isn't a module or quick fix for this. I would recommend you follow this Inchoo tutorial on shipping methods to set up your own method and from there use the quote objects item collection:

Mage::getModel('checkout/cart')->getQuote()->getAllItems();

to build a calculation for the shipping costs.

If you run into any specific issues feel free to post another question. Always include code snippets and error logs if it concerns an error.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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