Extension Plugins

Written by Max Milbers on . Posted in Development

Extension plugins are used both in the front-end and the backend. They should be created as classes deriving from the base class  VmExtendedPlugin:

public function __construct (&$subject, $config=array()) {
parent::__construct($subject, $config);
$this->_path = JPATH_PLUGINS.DS.$this->getName();
JPlugin::loadLanguage('plg_vmextended_'.$this->getName());
}

Below is the list with events and a description on what moment they are fired.

onVmAdminController()
This event is fired, when the called view was not found in the backend maincontroller. It allows to add new views to virtuemart 2.

Return:
It must execute the controller in the plugin.

Parameters:

  1. (String ) Name of the controller

onVmSiteController()
This event is fired, when the called view was not found in the frontend maincontroller. It allows to add new views to virtuemart 2.
Return:
It must execute the controller in the plugin.
Parameters:

  1. (String ) Name of the controller

onVmSqlRemove()
Plugs into the updater model to remove additional VM data (useful if the plugin depends on fields in a VM table)

onVmSqlRestore()
Plugs into the updater model to reinstall additional VM data (useful if the plugin depends on fields in a VM table)

plgVmAfterUserStore()

Return:
$data the manipulated data
Parameters:

  1. (array $data) formdata as array

plgVmOnUserStore()

Return:
nothing special
Parameters:

  1. (array $data) formdata as array