2016-05-18 14 views
0

joomlaでシステムプラグインを作成し、mymethod()というカスタムメソッドを作成しました。今私はajax経由でこのメソッドを呼び出したいと思います。私はlinkを試しましたが、新しいajaxプラグインが作成されますが、私はシステムプラグインのカスタムメソッドを呼び出して新しいプラグインを作成しません。joomlaプラグインのカスタム関数をurlで呼び出します。

答えて

3

プラグインシステムイベントonAfterInitialise()を使用できます。 AJAX用

使用このURLを:リンクはokです

function onAfterInitialise() { 
    $jinput = JFactory::getApplication()->input; 

    if($jinput->get('type')=='mymethod') { 

    // your code here 

    } 

} 
+1

この回答は受け入れる必要があります。 –

+1

しかし、このメソッドは、そのカスタム関数をすべての呼び出しに利用できるようにすることができますか? –

1

index.php?type=mymethod

これはにつながります。フォルダ名をajaxからsystemに変更するだけです。 joomla 3.4以前は、プラグインをajaxフォルダに置くことが必須でしたが、今は任意のフォルダに置くことができます。あなたのコードは次のようになります

JPluginHelper::importPlugin('system'); 
$plugin  = ucfirst($input->get('plugin')); 
$dispatcher = JEventDispatcher::getInstance(); 

try 
{ 
    $results = $dispatcher->trigger('myMethod' . $plugin); 
} 
catch (Exception $e) 
{ 
    $results = $e; 
} 

ここに記載されているように、残りの指示に従ってください。

関連する問題