
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!
![]() |
VM Add Buyers to Joomla Groups Plugin, Version 1.6.2 Filename: plg_opentools_vm_buyer_assign_group_v1.6.2.zip MIME-Type: application/zip File size: 27310 Bytes |
With this plugin for VirtueMart, all buyers of a product can be automatically added to or removed from a Joomla user group or a VirtueMart shopper group.
Typical use cases are:
Please notice that this plugin is NOT meant as a full-fledged subscription solution, because it does NOT support time-limited group assignments. When the order is finalized, the customer is added to the selected groups and stays there until you manually remove him (or the order is cancelled/refunded).
This plugin complements the "Add VM Buyers to Joomla Groups Admin Panel":
Assume the shop owner wants each buyer of Product A to be added to the "Gold Buyers" VirtueMart shopper group and added to the "Author" Joomla user group. As soon as the purchase is completed, the buyer will be added to those groups. But if the order is refunded or cancelled for some reason later on, the user is removed again from these groups (unless he already has been a member of the groups before the purchase).
To achieve this with my plugin, the shop owner first needs to set up a custom field definition (once), which defines the list of order statuses that indicate a successful purchase.
Then he can assign a custom field of the type just created to "Product A" and select to which VirtueMart shopper groups or Joomla user groups the buyer should be added or removed.
Whenever a user now buys Product A and the order is confirmed, the user is removed from and added to the chosen groups (in that order, so if you configure the custom field to remove from and add to the same group, the user will be removed first and then added again). If the order is later cancelled or refunded, the actions by the plugin are also reverted (i.e. if the user was added to a group, he is removed again). The plugin stores whether the user has already been a member before the purchase, so when the order is refunded or cancelled the user is not removed again in that case.
Download the plugin file and install it just like any other Joomla plugin.
The assignment of the Joomla or VirtueMart groups to selected products is done via custom fields.
First, set up a Custom Field ("Products" -> "Custom Fields"). This needs to be done only once and will be re-used by all products later on:
Now you can add this custom field to any product you like:
Starting with version 1.6.1, this plugin uses the Joomla 3.x updater to install new versions. For this to work, you need to enter your updater credentials (order number and password of the purchase at open-tools.net) in the plugin configuration page (Joomla Backend: Extensions => Plugins):
The updater will then access the download at open-tools.net with these credentials, which unlock download access. If you enter invalid credentials, then the plugin will work just fine, only updates are not available:
Please note that the automatic update feature for paid plugins (that need some kind of password to unlock the download) is NOT available in Joomla 2.5!
I am developing the plugin with PHP 7.0 on Joomla 3.5 with VirtueMart 3.0. Previously, development was done on PHP 5.4 with Joomla 2.5 and Virtuemart 2.6.
If you are using the plugin on a different combination of versions, please let me know whether it works or not.
$modelOrder->updateStatusForOneOrder
is called with the last argument false, which instructs VirtueMart to change the order status, but explicitly requests that VM does NOT inform any other plugins about this. As a workaround, one can change the last argument to true, which makes this plugin work again. However, this change will be overwritten on every VirtueMart update.This plugin is licenced unter the GNU GPLv3. You have to pay to download the plugin, but by this you automatically obtain all the rights and duties that the GPL gives you. All future upgrades are included (i.e. there is no timelimit on updates). Support is provided in the forums as far as my time allows, but I cannot guarantee proper support.
2016-03-05: Version 1.6.2 (Fix warning when saving custom fields)
2016-01-03: Version 1.6.1 (Automatic updates through the Joomla updater)
2015-03-15: Version 1.6 (Fix certain installation issues with VM3)
2015-01-08: Version 1.5 (Fix some php warnings)
2015-01-05: Version 1.4 (Fix shopper group assignment for asynchronous payment methods like PayPal etc.)
2014-10-20: Version 1.3 (Fix issue with new installations, where the plugin's database table was not created automatically)
2014-10-15: Version 1.2 (Support for Joomla 3.x and Virtuemart 3.x added)
2013-09-28: Version 1.0 (Initial release)