Project

General

Profile

Plugin system » History » Revision 41

Revision 40 (Valérie Isaksen, 11/27/2012 06:06 PM) → Revision 41/42 (Valérie Isaksen, 12/21/2012 04:56 PM)

{{>toc}} 

 h1. Plugin system 

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

 h2. 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. 

 h3. 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: 
 <pre> 
 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',''); 
 </pre> 
 J1.6 or J1.7: 
 <pre> 
 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',''); 
 </pre> 

 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! 

 h3. 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: 
 <pre> 
 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', '') 
 ; 
 </pre> 

 J1.6 or J1.7 
 <pre> 
 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', '') 
 ; 
 </pre> 
 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! 

 h2. 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. 

 h3. [[Payment Plugins]] 

 h3. [[Shipper Plugins]] 

 h3. [[Extension Plugins]] 

 h3. [[Calculation Plugins]] 

 h3. [[Product Plugins]]