如何以编程方式检测Joomla中的用户配置文件更改(事件)?

时间:2013-04-05 14:50:18

标签: joomla joomla2.5 joomla-extensions

我们正在为Joomla 2.5构建用户同步插件(获取Joomla用户并通过JSON API调用将它们发送到另一个平台)。这一切都运行正常,但一旦复制,Joomla中的配置文件更新不会反映到外部平台。

我看到有一些事件,例如onUserAfterSaveonUserBeforeSave,但据我所知,这些只适用于插件而不适用于组件(我们正在构建一个带有前端的组件,后端)。

所以我的问题是,我们如何以编程方式检测用户是否以某种方式更改了他的个人资料(姓名,电子邮件或密码)并相应地在我们的组件中执行了某些操作。

1 个答案:

答案 0 :(得分:2)

您需要创建用户个人资料插件。在分发插件时,您可以将插件与组件一起打包。在Joomla中,扩展包含1-2个组件,模块和插件是很常见的。这就是Joomla在特定扩展中分离特定作业的方式。

关于如何做的好例子已经在这里:

/plugins/user/

以下是您的方法签名:

/**
 * @param   array       $user       Holds the new user data.
 * @param   boolean     $isnew      True if a new user is stored.
 * @param   boolean     $success    True if user was succesfully stored in the database.
 * @param   string      $msg        Message.
 */
public function onUserAfterSave($user, $isnew, $success, $msg)
{}

基本上在方法中你可以做任何你想做的事情,在你的情况下可能会从你的组件中更新一些表。