Project

General

Profile

Plugin system » History » Revision 4

Revision 3 (Oscar van Eijk, 02/03/2011 09:57 AM) → Revision 4/42 (Devendra Kumar Shukla, 02/03/2011 03:26 PM)

h1. Plugin system 

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

 h2. Installing plugins 

 During development the the VM2 branch, the plugins are not available as Joomla install packages, so for test environments, they must be installed manually. 

 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_"): 

 <pre> 
 INSERT INTO `jos_plugins` (`id`, (`id, `name`, `element`, `folder`, `access`, `ordering` 
   , `published`, `iscore`, `client_id`, `checked_out`, `checked_out_time`, `params`) 
 VALUES 
  (NULL, 'VMPayment - Authorize', 'authorize', 'vmpayment', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '') 
 ,(NULL, 'VMPayment - Cash on delivery', 'cashondel', 'vmpayment', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00','') 
 ; 
 </pre> 

 Next, copy the plugin files (authorize.php, authorize.xml, cashondel.php and cashondel.xml), located in the folder /plugins/vmpayment in the SVN checkout, to the Joomla plugin directory. If that doesn't exist, it must be created first: <pre>mkdir <document_root>/plugins/vmpayment</pre> 

 Now, in the store maintenance, you can add payment methods based on one of these plugins. 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_"): 

 <pre> 
 INSERT INTO `jos_plugins` (`id`, (`id, `name`, `element`, `folder`, `access`, `ordering` 
   , `published`, `iscore`, `client_id`, `checked_out`, `checked_out_time`, `params`) 
 VALUES 
  (NULL, 'VMShipper - Standard', 'standard', 'vmshipper', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', '') 
 ; 
 </pre> 

 Next, copy the plugin files (standard.php and standard.xml), located in the folder /plugins/vmshipper in the SVN checkout, to the Joomla plugin directory. If that doesn't exist, it must be created first: <pre>mkdir <document_root>/plugins/vmshipper</pre> 

 Now use the 'Shipping' menu item in the backend to add 1 or more carriers based on this plugin. 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). 
 Finally you can add the shipping rates for the created vendor. Make sure a there's always a valid shipping rate: customers select the carrier only and the plugin must be able to find a mathcing rate based on the total order weight and the shipto address! 

 h2. Writing plugins 

 For now, refer to the mainclasses for documentation. This info will be added here in a later stage.