Developing a module or plugin for Virtuemart 2 » History » Revision 6
Revision 5 (Max Milbers, 09/07/2011 11:22 AM) → Revision 6/16 (Max Milbers, 02/14/2012 06:00 AM)
h1. Developing a module or plugin for Virtuemart 2
When you want to develop your own extension for virtuemart, then this hints should you help to get started:
Use
@if (!class_exists( 'VmConfig' )) require(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');@
to load the configuration object in your extension. Then use
@$config = VmConfig::loadConfig();@
to load the configuration values, you can then easily access them with
@VmConfig::get('yourVariable','default');@
After loading the VmConfig you should always use the vm path constants to access files
@JPATH_VM_SITE = JPATH_ROOT.DS.'components'.DS.'com_virtuemart' );
JPATH_VM_ADMINISTRATOR = JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart' );@
For performance reasons you should always use the
@if (!class_exists( 'MyClass' )) require (JPATH_VM_ADMINISTRATOR.DS....)@
construction, dont use require_once
Loading and instancing a model is very easy in Vm, just use
$mynameModel = VmModel::getModel('myname');
for example: $currencyModel = VmModel::getModel('currency');
When you want to access the js used in vm then load them with
@$config->jQuery();
$config->jVm();@
or for the css use
@$config->cssSite();@
For shipment, payment, or other plugin development please look here [[Plugin system]] or for modules here [[Modules system]]