1

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

我看到有一些事件,例如onUserAfterSaveand onUserBeforeSave,但据我了解,这些事件仅适用于插件而不适用于组件(我们正在构建具有前端和后端的组件)。

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

4

1 回答 1

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)
{}

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

于 2013-04-06T07:30:36.103 回答