我正在为SocialEngine 4.8.9制作模块。基本上我是buildin聊天模块,我想与我的聊天框同步SocialEngine消息。所以我需要一个在发送消息后调用的事件,以便我可以插入到我的表中 或者是否在将值插入数据库后调用了任何事件。
答案 0 :(得分:1)
SocialEngine有很多钩子,您可以将操作附加到这些钩子上。其中一个钩子是 onItemCreateAfter 。在数据库中创建模型项时将调用此事件。
如果您查看消息模块的清单文件,您会看到消息模块有2个型号项,名为 messages_message 和 messages_conversation ,因此您可以在创建这两个项目中的任何一个时,使用 onItemCreateAfter 挂钩来附加您的操作。
对于这个例子,假设你已经通过SocialEngine的SDK创建了一个模块,你的模块名称是 mymodule 。您可以分两步开始使用钩子:
文件: application / modules / Mymodule / settings / manifest.php
'hooks' => array(
array(
'event' => 'onItemCreateAfter',
'resource' => 'Mymodule_Plugin_Core',
),
),
文件: 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
}
}
}
答案 1 :(得分:0)
没有用于撰写邮件的默认挂钩。您可以为邮件创建新的自定义挂钩,并且可以在每次发送邮件时调用该挂钩。
实施例:http://social-engine-tutorials.blogspot.in/2012/03/social-engine-4-hook-example.html