2010-02-27 111 views
0

我正在創建一個組件,其中註冊用戶將能夠使用我的組件的功能。Joomla自定義Joomla組件集成com_user

我的組件有一些表單和視圖。我想只允許登錄用戶訪問我的組件的鏈接。

如何將額外的自定義字段添加到Joomla的用戶註冊表單中?我有一些額外的領域來捕獲像地址和公司名稱。

如何將身份驗證與我的組件集成?

如何在不創建用戶註冊和身份驗證功能的情況下完成我的組件。 據我所知,我可以使用joomla用戶註冊並將其與我的組件集成。但我不知道該怎麼做。

好心幫 感謝

回答

1

有很多,你可以實現這一目標的方式。 OFC最好的方法總是在不做核心黑客的情況下整合。這就是說我會建議兩種方式。

有很多擴展用戶註冊字段的插件或組件。但是這些都是自己的解決方案,所以對於擁有自己的數據的組件(地址,公司等)來說,這是無用的。

  1. 您只需使用joomla用戶模型爲您的組件創建一個註冊前端視圖。這樣用戶就可以註冊通過你的組件並添加你喜歡的所有額外字段。你只需要小心地將非標準字段添加到模型中的數據庫表中。

  2. 如果你真的不想自己創建一個註冊表單,你可以創建一個用戶插件組合註冊表單的內容覆蓋。該插件將負責將額外的字段添加到您的數據庫表。正確的用戶事件是:


function onAfterStoreUser($user, $isnew, $success, $msg) { 
    ... 
    if ($isnew) 
    { 
     myComponent::createExtraFields($user['id'], $args); } 
    else 
    { 
     myComponent::updateExtraFields($user['id'], $args); 
    } 
    ... 
}