Plugin system

Since VirtueMart v2, the Joomla! plugin system is used form payment and shipper plugins.

Installing plugins

the plugins are now available as Joomla install packages, so you should use the AIO installer provided in the download package to install all plugins at once.

Payment plugins

At the time of writing, only 2 of the former payment plugins have been converted to the new plugin system. Others should follow soon, all help is appreciated!!

Use the SQL query below to add the plugins to your database (assuming the table prefix is "jos_"):

J1.5:

INSERT INTO `jos_plugins` (`id`, `name`, `element`, `folder`, `access`, `ordering`
  , `published`, `iscore`, `client_id`, `checked_out`, `checked_out_time`, `params`)
VALUES
 (NULL, 'VMPayment - Paypal', 'paypal', 'vmpayment', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '')
,(NULL, 'VMPayment - Standard', 'standard', 'vmpayment', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00','');

J1.6 or J1.7:
INSERT INTO `#__extensions` (`extension_id`,  `type`, `name`, `element`, `folder`, `access`, `ordering`
  , `enabled`, `protected`, `client_id`, `checked_out`, `checked_out_time`, `params`)
VALUES
 (NULL, 'plugin', 'plg_vmpayment_paypal', 'paypal', 'vmpayment', 1, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '')
,(NULL, 'plugin', 'plg_vmpayment_standard', 'standard', 'vmpayment', 1, 0, 1, 0, 0, 0, '0000-00-00 00:00:00','');

For Joomla 1.5, when you use the svn checkout, copy the plugin files for example (paypal.php, paypal.xml), located in the folder /plugins/vmpayment/paypal a directory higher.

Now, in the store maintenance, you can add payment methods based on one of these plugins, then click Apply button to display the appropriate parameters in the configuration tab. Note at this moment it is required to select a vendor!

Shipper plugins

This is very similar to the payment plugins. Only 1 plugin has been created (again: all help is appreciated!); 'standard', which provides a basic shipping option for postal services.
Note: Installing the sample data does NOT provide shipping rates anymore!

Use the SQL query below to add the plugins to your database (assuming the table prefix is "jos_"):

J1.5:

INSERT INTO `jos_plugins` (`id`, `name`, `element`, `folder`, `access`, `ordering`
  , `published`, `iscore`, `client_id`, `checked_out`, `checked_out_time`, `params`)
VALUES
 (NULL, 'By weight, ZIP and countries', 'weight_countries', 'vmshipment', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '')
;

J1.6 or J1.7

INSERT INTO `#__extensions` (`extension_id`, `type`, `name`, `element`, `folder`, `access`, `ordering`
  , `enabled`, `protected`, `client_id`, `checked_out`, `checked_out_time`, `params`)
VALUES
 (NULL, 'plugin', 'plg_vmshipment_weight_countries', 'weight_countries', 'vmshipment', 1, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '')
;

For Joomla 1.5, when you use the svn checkout, copy the plugin files analog to the paymentplugins.

Now use the 'Shipping methods' menu item in the backend to add 1 or more shipping methods. Give a shipping method name, select the shipping method,and click Apply button to display the appropriate parameters in the configuration tab. All you need to do here is give the shipper a name and select a vendor (this is optional; when no vendor is selected, this carrier is valid for all vendors).
Make sure a there's always a valid shipping rate: the plugin must be able to find a matching rate based on the shipto address!

Plugin Development

Documentation for VirtueMart 2 API is here: http://docs.virtuemart.net/api-vm2

All plugins for VirtueMart should be developed confirming the Joomla! plugin development methods. Refer to http://docs.joomla.org/Tutorial:Plugins for developers documentation for Joomla! plugins.

Payment Plugins

Shipper Plugins

Extension Plugins

Calculation Plugins

Product Plugins