用于发送消息的社交引擎事件
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 的模型 items和 messages_conversation 因此您可以使用 onItemCreateAfter 挂钩在创建这两个项目中的任何一个时附加您的操作。
对于这个例子,假设您已经通过 SocialEngine 的 SDK 创建了一个模块,并且您的模块名称是 mymodule。您可以通过 2 个步骤开始使用挂钩:
- 将您的操作附加到模块清单文件中的 onItemCreateAfter 挂钩。您可以检查来自其他模块的清单文件,以了解应如何在清单数组中编写以下代码。
文件:application/modules/Mymodule/settings/manifest.php
'hooks' => array(
array(
'event' => 'onItemCreateAfter',
'resource' => 'Mymodule_Plugin_Core',
),
),
- 创建将由挂钩调用的插件文件。在下面的代码中 $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
}
}
}
我正在为 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 的模型 items和 messages_conversation 因此您可以使用 onItemCreateAfter 挂钩在创建这两个项目中的任何一个时附加您的操作。
对于这个例子,假设您已经通过 SocialEngine 的 SDK 创建了一个模块,并且您的模块名称是 mymodule。您可以通过 2 个步骤开始使用挂钩:
- 将您的操作附加到模块清单文件中的 onItemCreateAfter 挂钩。您可以检查来自其他模块的清单文件,以了解应如何在清单数组中编写以下代码。
文件:application/modules/Mymodule/settings/manifest.php
'hooks' => array(
array(
'event' => 'onItemCreateAfter',
'resource' => 'Mymodule_Plugin_Core',
),
),
- 创建将由挂钩调用的插件文件。在下面的代码中 $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
}
}
}