Um z.B. in der index.php oder in einer anderen Komponente/Plugin/Modul auf die Methode eines Plugins zuzugreifen, benötigt man diesen Codeschnippsel:
JPluginHelper::getPlugin('type', pluginName'); // type = system or content $dispatcher = JEventDispatcher::getInstance(); // < Joomla 3 JDispatcher::getInstance(); $result = $dispatcher->trigger('methodName', 'params'); // params = some params 4 the method
Die Methode muss natürlich public sein.
Um von einem eigenen php-Script (auserhalb des Joomla Frameworks) auf eine Methode eines Plugins zuzugreifen kann man das so machen:
In dem Konstruktor des Plugins muss diese if Abfrage
public function __construct(&$subject, $params) { if($params!='external'){ parent::__construct($subject, $params); } }
In dem Script, dass auf die Methode des Plugins zugreift, miuss dieser Codeschnippsel mit rein.
$root = filter_input(INPUT_SERVER, 'DOCUMENT_ROOT'); define('_JEXEC', 1); define('JPATH_BASE', $root); define('DS', DIRECTORY_SEPARATOR); require_once(JPATH_BASE.DS.'includes'.DS.'defines.php'); require_once(JPATH_BASE.DS.'includes'.DS.'framework.php'); $mainframe = JFactory::getApplication('site'); $mainframe->initialise(); include $root.'/plugins/system/fv_waNumber/fv_waNumber.php'; $params = 'external'; $wa = new PlgSystemFV_waNumber($subject, $params); $waNumber = $wa->getCurrentWa(); echo $waNumber;
Möglichweise gibt es auch einfachere Wege. Wenn es jemand besser weiß, bitte um Mail.