2010-02-27 113 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); 
    } 
    ... 
}