2016-07-16 77 views
0

我有兩個插件:plugin_Aplugin_B。在plugin_A/actions/plugin_A/中有一個動作a_action.php。在plugin_B/actions/plugin_B/有一個動作b_action.php如何從另一個插件調用另一個插件後的動作被稱爲

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"); 

我想b_action隨時a_action被調用後調用。

我該如何解決這個問題。

謝謝大家提前。

回答

1

爲您只需撥打叫動作埃爾格功能在a_action.php

action('b_action'); 
+0

謝謝你的回覆@enRaiser。它是否可以從** plugin_B **完成,因此它是** plugin_B **,用於檢查是否發生了一個事件? –

+0

在這種情況下,我建議你註銷插件b的start.php中的a_action.php。並註冊b_action.php。並在開始時調用action('a_action')og b_action.php – enRaiser

+0

謝謝@enRaiser –

0

我選擇結束的插件鉤子:

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; 
} 
相關問題