用于发送消息的社交引擎事件

socialengine event for send message

我正在为 SocialEngine 4.8.9 制作模块。基本上我正在构建聊天模块,我想将 SocialEngine 消息与我的聊天框同步。所以我需要一个在发送消息后调用的事件,以便我可以插入我的 table.
或者是否有在将值插入数据库后调用的任何事件。

没有用于撰写的默认挂钩message.You可以为消息创建新的自定义挂钩,并且可以在每次发送消息时调用该挂钩。

示例:http://social-engine-tutorials.blogspot.in/2012/03/social-engine-4-hook-example.html

SocialEngine 有很多钩子,您可以将您的操作附加到这些钩子上。这些挂钩之一是 onItemCreateAfter。在数据库中创建模型项时将调用此事件。

如果您检查消息模块的清单文件,您会看到消息模块有 2 个名为 messages_message 的模型 itemsmessages_conversation 因此您可以使用 onItemCreateAfter 挂钩在创建这两个项目中的任何一个时附加您的操作。

对于这个例子,假设您已经通过 SocialEngine 的 SDK 创建了一个模块,并且您的模块名称是 mymodule。您可以通过 2 个步骤开始使用挂钩:

  1. 将您的操作附加到模块清单文件中的 onItemCreateAfter 挂钩。您可以检查来自其他模块的清单文件,以了解应如何在清单数组中编写以下代码。

文件:application/modules/Mymodule/settings/manifest.php

'hooks' => array(
  array(
    'event' => 'onItemCreateAfter',
    'resource' => 'Mymodule_Plugin_Core',
  ),
),
  1. 创建将由挂钩调用的插件文件。在下面的代码中 $payload 对象将包含消息项。

文件:application/modules/Mymodule/Plugin/Core.php

class Mymodule_Plugin_Core
{
  public function onItemCreateAfter($event)
  {
    $payload = $event->getPayload();

    if( $payload instanceof Core_Model_Item_Abstract ) {

      //Your code here 

    }
  }
}