Shipping by Rules for VirtueMart

IMPORTANT ANNOUNCEMENT: Plugin development ceased, all plugins made available freely (GPL)

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!



The forum is in read only mode.
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1


Challenge - Split the order into multiple packages 29 Jul 2021 23:31 #1

  • marvays
  • marvays's Avatar Topic Author
I have several product categories. Shipping is 70,-
But one category has products that are big and I have to send them in a new package separately. How do I make the condition that each new product from category id 62 will have an additional surcharge of 100,- and each new product in the basket from category id 63 will have an additional charge of 150,-

So the user adds a product from categories 1, 2, 3, 62 and 2x63 to the cart.
The plugin must calculate 70,- (for products from category 1, 2, 3) + 100,- (for a product from category id 62) + 300,- (2x for two products from category id 63) and a total of 470,-

It is a challenge :)

Challenge - Split the order into multiple packages 30 Jul 2021 10:32 #2

  • marvays
  • marvays's Avatar Topic Author
I'm moving slowly. I was able to create this rule:
The basic postage is 50, if it does not contain a product from category id 62 + 100 for every one product from category 62.
contains_none(Categories, 62); Shipping=50 + evaluate_for_categories(Articles, 62)*100
  • Page:
  • 1