2016-07-16 17 views
0

Ich habe zwei Plugins: plugin_A und plugin_B. In plugin_A/actions/plugin_A/ gibt es eine Aktion a_action.php. In plugin_B/actions/plugin_B/ gibt es eine Aktion b_action.php.Wie eine Aktion von einem anderen Plugin nach einer weiteren Aktion von einem anderen Plugin aufrufen aufgerufen wird

plugin_A/start.php

elgg_register_action("a_action", __DIR__ . "/actions/plugin_A/a_action.php"); 

plugin_B/start.php

elgg_register_action("b_action", __DIR__ . "/actions/plugin_B/b_action.php"); 

würde Ich mag b_action nach jederzeit a_action aufgerufen werden wird aufgerufen.

Wie kann ich darüber gehen.

Vielen Dank im Voraus.

Antwort

1

für, dass Sie rufen Sie einfach elgg Funktion Aktion am Ende des a_action.php

genannt
action('b_action'); 
+0

Danke für die Antwort @enRaiser. Kann es von ** plugin_B ** gemacht werden, so dass es ** plugin_B ** ist, das nach dem Vorkommen einer ction sucht? –

+0

In diesem Fall schlage ich vor, dass Sie a_action.php in start.php des Plugins b abmelden. und registriere b_action.php. und rufe Aktion ('a_action') am Anfang auf und b_action.php – enRaiser

+0

Danke @enRaiser –

0

ich für Plugin Haken entschieden:

elgg_register_plugin_hook_handler("action", "a_action", "pay_action_hook"); 

function pay_action_hook($hook, $entity_type, $returnvalue, $params) { 
    if (/* My stuff works OK */) { 
     return true; 
    } 

    register_error(elgg_echo('My stuff work out failed')); 

    return false; 
}