允许用户从自定义Joomla登录表单中选择用户组

时间:2013-08-31 16:09:29

标签: php joomla login custom-component usergroups

我正在使用Joomla 3.0开发一个网站。我想要做的是创建一个自定义登录表单。我想这样做的原因是让用户在注册时选择他们想要放入的用户组。所以我需要在登录表单中创建一个下拉框。从此下拉框中,用户可以选择所需的用户组。到目前为止,我已尝试使用各种插件和扩展,但问题是它们无法按照我想要的方式进行自定义。所以,如果你有任何想法如何实现我想要的结果,请与我分享。我想我将不得不尝试自己编码,但即使在这种情况下我也需要很多帮助。给我提示并引用好的教程也会有所帮助 谢谢

PS:如果你有解决我的问题的另一个版本的Joomla请与我分享。

2 个答案:

答案 0 :(得分:2)

可能UsergroupSelector插件可以帮助您实现这一目标。此插件以注册形式添加字段。如果您不想使用默认html,则需要在覆盖模板中添加选择框html。

答案 1 :(得分:0)

在用户注册过程中添加自定义字段的最佳解决方案可能是使用插件。

您可以使用名为Multi-Profiles Registration(演示here)的商业插件,该插件似乎正在执行您想要的操作(我从未测试过它)。

这将花费你一些钱并节省你一些时间,但我将布置替代方式,即开发自己的插件。

幸运的是,有一本优秀的教程here,实际上是一本名为Joomla! Programming的书的章节(尤其是教程的第5页)。

编写插件需要时间,我不会详细介绍所有细节。 主要步骤包括:

  • 创建一个插件配置文件,其中包含一个可供选择的组列表(表单元素)。您可以在此处(或使用该插件的任何人)选择可注册的组(可以通过UsersHelper::getGroups()获取组)。
  • 使用包含插件配置中所需用户组的选择框扩充注册表单。这可以通过为模板创建布局覆盖(templates/<your template>/html/com_users/registration/approval.php)或通过插件在渲染事件的某个阶段将其注入文档来完成,如果此插件应该是可移植的,这可能是首选方法。
  • 通过处理表单数据并覆盖groups事件上的onUserBeforeSave数据参数,按插件设置所需的组。