With great sadness we have to announce that we are ceasing development of all our VirtueMart, WooCommerce and Joomla plugins. Effective immediately, all our plugins -- even those that were paid downloads -- are made available for free from our homepage (GPL license still applies), but we cannot and will not provide any support anymore.
It has been a great pleasure to be part of the thriving development communities of VirtueMart as well as WooCommerce. However, during the last year it became painstakingly clear that in addition to a full-time job, a young family and several other time-consuming hobbies at professional level (like being a professional singer) the plugin development and the support that it requires is not sustainable and is taking its toll. It has been an honor, but it is now time to say good bye!
Welcome,
Guest
|
|
Hello,
I have a store with 3 different manufacturers A, B, C. I need to write a rule that help me to charge extra shipment in case products came from different manufacturers. Example: 3 products from manufacturer A, shipping $10 But in case are 3 products 1 from A 1 from B and 1 from C, shipping should be $30, $10 for each manufacturer. Or even a more complex rule, same case that above but shipping A $5 shipping B $8 and shipping C $12 Please how can I write this kind of rules? Regards! |
|
Der fcdigital,
If I understand you correctly, your have three manufacturers, and each of them has a flat rate of $5, $8 and $12 independent of how many products are ordered. The first case (each manufacturer has a $10 flat rate) is very simple: Shipping=10*length(Manufacturers) The second case (each manufacturer has a different rate) is a little more work, but still quite simple: Variable=MyShipping; Value=0;
Variable=MyShipping; 1 in Manufacturers; Value=MyShipping+5
Variable=MyShipping; 2 in Manufacturers; Value=MyShipping+8
Variable=MyShipping; 3 in Manufacturers; Value=MyShipping+12
Shipping=MyShipping It might also work to use contains_any as a multiplier (contains_any is zero if the manufacturer is not in the list, 1 if it is): Shipping=5*contains_any(Manufacturers, 1) + 8*contains_any(Manufacturers, 2) +12*contains_any(Manufacturers, 3) Best regards, Reinhold PS: You will need the advanced version of the plugin, because all of the examples above use mathematical expressions and list handling (the Manufacturers list is a list, so there is really no way around this)... |