自定义Joomla组件与Joomla com_user的集成

时间:2010-02-27 16:09:03

标签: integration joomla1.5 custom-component

我正在创建一个组件,注册用户可以使用我的组件的功能。

我的组件有一些表单和视图。我想只允许登录用户访问我的组件的链接。

如何在Joomla的用户注册表单中添加额外的自定义字段?我有一些额外的字段可以捕获地址和公司名称。

如何将身份验证与我的组件集成?

如何在不重新创建用户注册和身份验证功能的情况下完成组件。 据我所知,我可以使用joomla用户注册并将其与我的组件集成。但我不知道该怎么做。

请帮助 感谢

1 个答案:

答案 0 :(得分:1)

有很多方法可以实现这一目标。 OFC最好的方法总是集成而不做核心攻击。那说我会建议两种方式。

有许多插件或组件可以扩展用户注册字段。但这些都是解决方案本身,因此对于拥有自己数据的组件(地址,公司等)没有用处。

  1. 您只需使用joomla用户模型为组件创建注册前端视图。这样,用户可以通过您的组件注册并添加您喜欢的所有额外字段。您只需要注意将非标准字段添加到模型中的db表中。

  2. 如果您真的不想自己创建注册表单,可以结合注册表单的内容覆盖创建用户插件。该插件将负责将额外的字段添加到您的数据库表。正确的用户事件将是:


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