Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 允许用户从自定义Joomla登录表单中选择用户组_Php_Joomla_Login_Custom Component_Usergroups - Fatal编程技术网

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

Php 允许用户从自定义Joomla登录表单中选择用户组,php,joomla,login,custom-component,usergroups,Php,Joomla,Login,Custom Component,Usergroups,我正在用Joomla 3.0开发一个网站。我试图做的是创建一个自定义登录表单。我这样做的原因是让用户能够在注册时选择他们想要加入的用户组。所以我需要在登录表单中创建一个下拉框。从这个下拉框中,用户可以选择所需的用户组。到目前为止,我已经尝试使用各种插件和扩展,但问题是它们不能按照我想要的方式进行定制。所以,如果你有任何想法如何实现我所期待的结果,请与我分享。我想我必须自己编写代码,但即使在这种情况下,我也需要很多帮助。给我一些提示和引用一些好的教程也会很有帮助。 多谢各位 PS:如果你有另一版本

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


PS:如果你有另一版本Joomla的解决方案,请与我分享

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

您可以使用一个名为(demo)的商业插件,它看起来正是您想要的(我从未测试过)

这将花费你一些钱和节省你一些时间,但我会布局的替代方式,这是开发自己的插件

幸运的是,这里有一个很好的教程,实际上是一本书的一章(特别是教程的第5页)

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

  • 创建一个插件配置文件,该文件将包括要从中选择的组列表(表单元素)。在这里,您(或任何使用该插件的人)将选择可用于注册的组(可以通过
    UsersHelper::getGroups()获取组)
  • 使用包含插件配置中所需用户组的选择框扩充注册表。这可以通过为模板创建布局覆盖(
    templates//html/com\u users/registration/approval.php
    )或通过插件在呈现事件的某个阶段将其注入文档来实现,如果该插件是可移植的,这可能是首选方法
  • 通过处理表单数据并覆盖
    onUserBeforeSave
    事件上的
    groups
    数据参数,由插件设置所需的组

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

      你对Joomla和PHP了解多少?通常,定制一个能完成大部分功能的组件要比从头开始编写一个组件容易得多。我个人不会为此使用ACL组,但你可以将这样一个字段作为概要文件插件的一部分。然后,您可以在适当的事件上添加到用户组映射。当然,用户组有一个核心字段,但您不希望人们能够选择Super AdminMasterAM=嗯,老实说,我对Joomla和PHP不熟悉,但我不觉得它们很难。您认为我可以定制哪些组件?Elin=您会使用哪些组件?你找到这样一个个人资料插件了吗?您将如何使用用户组地图?这对我真的很有帮助。10xYou可以制作一个与core中的插件类似的配置文件插件,并制作一个复选框或其他字段。您还可以复制和修改用户管理器中使用的标准组字段。哦,天哪,感谢您给出了这个好答案,我甚至没想到会有更好的答案。你能告诉我写这个插件需要多少PHP知识吗?:)您需要了解PHP和Joomla框架。如果你知道另一种OO编程语言,PHP就不难掌握。Joomla有一些基本教程和API参考。一旦你对PHP和基本Joomla感到足够满意,我链接到的教程应该会为你提供你所需要的大部分内容。在docs.Joomla.org网站上有一个关于制作概要文件插件的技巧,或者你实际上可以将xml添加到当前的概要文件文件夹中one@Elin,我相信你指的是,那看起来不错。我的建议和本教程都以相同的用户创建事件为目标,并采用类似的方法,但我更喜欢您在教程中提出的字段注入方法。