我正在创建一个组件,注册用户可以使用我的组件的功能。
我的组件有一些表单和视图。我想只允许登录用户访问我的组件的链接。
如何在Joomla的用户注册表单中添加额外的自定义字段?我有一些额外的字段可以捕获地址和公司名称。
如何将身份验证与我的组件集成?
如何在不重新创建用户注册和身份验证功能的情况下完成组件。 据我所知,我可以使用joomla用户注册并将其与我的组件集成。但我不知道该怎么做。
请帮助 感谢
答案 0 :(得分:1)
有很多方法可以实现这一目标。 OFC最好的方法总是集成而不做核心攻击。那说我会建议两种方式。
有许多插件或组件可以扩展用户注册字段。但这些都是解决方案本身,因此对于拥有自己数据的组件(地址,公司等)没有用处。
您只需使用joomla用户模型为组件创建注册前端视图。这样,用户可以通过您的组件注册并添加您喜欢的所有额外字段。您只需要注意将非标准字段添加到模型中的db表中。
如果您真的不想自己创建注册表单,可以结合注册表单的内容覆盖创建用户插件。该插件将负责将额外的字段添加到您的数据库表。正确的用户事件将是:
function onAfterStoreUser($user, $isnew, $success, $msg) {
...
if ($isnew)
{
myComponent::createExtraFields($user['id'], $args); }
else
{
myComponent::updateExtraFields($user['id'], $args);
}
...
}