【问题标题】:How To Detect User Profile Change (Event) in Joomla Programmatically?如何以编程方式检测 Joomla 中的用户配置文件更改(事件)?
【发布时间】:2013-03-28 01:12:03
【问题描述】:

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

我看到有onUserAfterSaveonUserBeforeSave之类的事件,但据我了解,这些仅适用于插件,不适用于组件(我们正在构建一个具有前端和后端的组件)。

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

【问题讨论】:

  • 你必须创建一个插件来触发这些事件,并从中调用你的组件方法

标签: joomla joomla2.5 joomla-extensions


【解决方案1】:

您需要创建一个用户配置文件插件。您可以在分发插件时将插件与您的组件一起打包在一个包中。在 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)
{}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2010-12-04
    • 2014-03-21
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多