2015-12-11 98 views
1

我正在爲SocialEngine 4.8.9製作模塊。基本上我是buildin聊天模塊,我想將SocialEngine消息與我的聊天框同步。所以我需要發送消息後調用的事件,以便我可以插入到我的表中。
或者在將值插入數據庫之後是否有任何事件被調用。socialengine事件發送消息

回答

0

SocialEngine有許多掛鉤,你可以將你的操作,這些掛鉤。其中一個鉤子是onItemCreateAfter。當在數據庫中創建模型項目時,將調用此事件。

如果您檢查郵件模塊的清單文件,你會看到消息模塊有一個名爲messages_message和2型項目messages_conversation,所以你可以使用onItemCreateAfter鉤到您的操作高度,當任何一個2項目被創建。

對於這個例子,假設您已經通過SocialEngine的SDK創建了一個模塊,並且您的模塊名稱爲mymodule。你可以開始使用掛鉤2個步驟:

  1. 附加的操作能在你的模塊的清單文件中onItemCreateAfter掛鉤。您可以檢查其他模塊的清單文件,以瞭解如何在清單數組中寫入以下代碼。

文件:應用/模塊/ Mymodule中/設置/ manifest.php

'hooks' => array(
    array(
    'event' => 'onItemCreateAfter', 
    'resource' => 'Mymodule_Plugin_Core', 
), 
), 
  • 創建將通過鉤被稱爲插件文件。在以下代碼中$ payload對象將包含消息項目。
  • 文件:應用程序/模塊/ Mymodule中/插件/ core.php中

    class Mymodule_Plugin_Core 
    { 
        public function onItemCreateAfter($event) 
        { 
        $payload = $event->getPayload(); 
    
        if($payload instanceof Core_Model_Item_Abstract) { 
    
         //Your code here 
    
        } 
        } 
    } 
    
    +0

    感謝阿里·穆薩維它的工作! –

    +0

    @SohailAnsari不客氣:)你能提出答案嗎? –