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


Free Shipping based on SKU 23 Feb 2014 20:40 #1

  • bluebeachdesign
  • bluebeachdesign's Avatar Topic Author
I cannot get this to work correctly.

Name=Free Shipping; "412928L" in SKUs; Shipping=0

I would like Free shipping to be placed on a sku. I went over the forum and it seems that the syntax is different from old to new.

Joomla Version: 2.5.8
Virtuemart Version: 2.0.26d
UPS Shipping Module: istraxx_ups

Any help is appreciated.

Free Shipping based on SKU 24 Feb 2014 13:16 #2

That syntax seems correct for the "Advanced shipping by Rules" shipping plugin.
In plugin version 4.0 and above, you can also use contains_any(SKUs, "412928L"), which means exactly the same as your condition (but it also allows to check for multiple skus at the same time).

However, you mention the istraxx_ups plugin, which of course does not support such a rule...

If you are indeed using my shipping by rules plugin, I would suggest an approach as described in www.open-tools.net/documentation/shippin...emart.html#debugging to debug possible problems (in particular to display the actual values of all available variables).

Free Shipping based on SKU 25 Feb 2014 02:31 #3

  • bluebeachdesign
  • bluebeachdesign's Avatar Topic Author
Well I do not understand. Does this plugin work or not? I have purchased and am using the Advanced shipping by Rules plugin.

I'd be happy to give you any access you would need. When I get to checkout only ups is looking to ship. Looks like the plugin is just ignoring the sku...

I have went over your documentation and do not find it to be straight forward or contain the examples for what I am wanting to do.

I need free shipping for a small handful of products.
I need to also set up Ship by Truck DOA

Free Shipping based on SKU 25 Feb 2014 14:08 #4

Thanks for the clarification. I apparently misunderstood your request that you were trying to use the rules in the UPS plugin (which of course wouldn't work).

The rule you give should work fine with the plugin.

If you'd like me to take a look at your installation, please send me the user account credentials via private mail.

When you want my plugin to offer free shipping, the UPS plugin will proably still offer a shipping rate (since one shipping plugin cannot prohibit another plugin from offering shipping costs).

Free Shipping based on SKU 25 Feb 2014 19:08 #5

  • bluebeachdesign
  • bluebeachdesign's Avatar Topic Author
Yes please as it is not showing up as an option. This site is in production so feel free to test.

I went to your profile on the forum but did not see a PM button. How do I email you :)

P.S. Thank you for your help. If this gets working then I will be buying this several times over.

Thank you

Free Shipping based on SKU 25 Feb 2014 19:12 #6

The email Address is office@open-tools.net.

Free Shipping based on SKU 26 Feb 2014 15:04 #7

I took a look at your site. The rule is working correctly, the problem is the vendor restriction that you selected for the plugin.
You enabled (administrated) multi-vendor mode, which allows this restriction in the first place. However, multi-vendor mode is quite experimental and definitely not working without several php code customizations. This vendor settings of the shipping plugins seems like one such needed coding area.

If I unselect all vendors (i.e. the rule applies to all vendors), the rule properly offers free shipping for that one product.

Best regards,

Free Shipping based on SKU 26 Feb 2014 19:01 #8

  • bluebeachdesign
  • bluebeachdesign's Avatar Topic Author
So your saying that your plugin only works with the multi-vendor option off? Unfortunately I have no other way of getting UPS to select the correct zip code.

Free Shipping based on SKU 26 Feb 2014 19:31 #9

  • bluebeachdesign
  • bluebeachdesign's Avatar Topic Author
Is there a work around? I do have to maintain the vendors to create correct shipping prices.

Free Shipping based on SKU 26 Feb 2014 23:33 #10

That is actually not a problem of my plugin, but rather of the VirtueMart core.

I talked to Milbo, the main VM developer, and the problem is that multivendor support is not completely implemented in VirtueMart. In particular, the cart is ALWAYS set to the first vendor and thus the vendor restriction in all shipping plugins just does not work.

To fix this, you would have to write the appropriate code yourself (actually, many multi-vendor setups would have completely different settings, so this is usually a custom development job).

However, in this particular case, you don't need to set a vendor restriction for the free shipping method at all, since you check for the existence of a particular SKU. So you could just as well remove the vendor restriction at all.
Do you want free shipping if only that one product is ordered (and if any other product is ordered together with it, there is no free shipping)? Or do you want to have free shipping for the whole cart, if that product is among the articles in the order (and possibly many other articles)?

In the first case, the check would be SKUs==list("yourSKU"), in the second case your "in" check is the appropriate check.

Best regards,

Free Shipping based on SKU 26 Feb 2014 23:41 #11

For your information, here is Milbo's response to my request in the VM development forum:

[22:52:09] Reinhold Kainhofer: Is there anything special that I need to implement/handle in a shipping plugin to make it work properly in multivendor mode? In particular, one of my customers has multivendor mode enabled (says he needs it for his UPS shipping). As soon as he tries to restrict my shipping plugin to one vendor (using the vendor selection box in the shipment method config), the method is NEVER used, even for the selected vendor.
[22:52:11] Reinhold Kainhofer: open-tools.net/forum/shipping-by-rules-p...ng-based-on-sku.html
[22:54:49] Milbo (Max Milbers): No, but the cart is always set to vendorId=1
[22:54:54] Milbo (Max Milbers): so it is never called
[23:07:28] Reinhold Kainhofer: Ah, so I'll tell the user that multivendor really needs a lot of custom coding to work.
[23:15:25] Milbo (Max Milbers): he wants multicart
[23:15:57] Milbo (Max Milbers): The logic to give the cart the vendor id of the first product was added and is quite simple
[23:16:10] Milbo (Max Milbers): the rest is to create another cart, per vendor
[23:16:21] Milbo (Max Milbers): to display this in a module or so and the rest is done
[23:16:27] Milbo (Max Milbers): almost lol
[23:16:50] Milbo (Max Milbers): If there are investors we can write and add it to the core
[23:25:32] Milbo (Max Milbers): he should write to me
[23:25:44] Milbo (Max Milbers): vm3 got already more features in this direction
[23:26:26] Milbo (Max Milbers): and maybe normographs multvendor already has it

If you want to get in touch with Milbo (the VM lead developer and CEO of iStraxx), it's probably best to post a request at: virtuemart.net/contact-the-team

Best regards,
  • Page:
  • 1