Ich habe ein System-Plugin in Joomla erstellt und eine benutzerdefinierte Methode erstellt, die mymethod()
ist. Jetzt möchte ich diese Methode über Ajax aufrufen. Ich habe versucht, link, aber es wird neue Ajax-Plugin erstellen, aber ich möchte System-Plug-in benutzerdefinierte Methode aufrufen nicht neues Plugin erstellen.Rufen Sie die benutzerdefinierte Funktion im Joomla-Plugin per URL auf.
0
A
Antwort
3
Sie können das Plug-in Systemereignis onAfterInitialise()
verwenden.
Verwenden Sie diese URL für Ajax: index.php?type=mymethod
Dies führt zu:
function onAfterInitialise() {
$jinput = JFactory::getApplication()->input;
if($jinput->get('type')=='mymethod') {
// your code here
}
}
1
Der Link ist ok. Sie müssen nur den Ordnernamen von Ajax in System ändern. Vor Joomla 3.4 war es notwendig, das Plugin in den Ajax-Ordner zu legen, aber jetzt können Sie es in einen beliebigen Ordner legen. Ihr Code sieht dann folgendermaßen aus:
JPluginHelper::importPlugin('system');
$plugin = ucfirst($input->get('plugin'));
$dispatcher = JEventDispatcher::getInstance();
try
{
$results = $dispatcher->trigger('myMethod' . $plugin);
}
catch (Exception $e)
{
$results = $e;
}
Folgen Sie den dort angegebenen Ruheanweisungen.
Diese Antwort sollte akzeptiert werden .. –
aber diese Methode kann diese benutzerdefinierte Funktion für alle von url aufrufen ??? –