2013-04-05 23 views
1

我們正在爲Joomla 2.5構建一個用戶同步插件(獲取Joomla用戶並通過JSON API調用將它們發送到另一個平臺)。這一切都很好,但是一旦複製,Joomla中的配置文件更新就不會反映到外部平臺。如何通過編程檢測Joomla中的用戶配置文件更改(事件)?

我看到有一些事件,如onUserAfterSaveonUserBeforeSave,但據我瞭解,這些只適用於插件而不是組件(我們正在建設與前端和後端組件)。

所以我的問題是,我們如何檢測編程用戶已經改變了他的個人資料以某種方式(姓名,電子郵件或密碼),並相應地執行我們的組件的東西。

+2

你將不得不創建一個插件觸發這些事件,並從它調用你的組件方法 – 2013-04-05 15:20:03

回答

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

基本上任何你想要的,你可以做的方法裏面,你的情況可能會更新組件中的某些表。

相關問題