在默认的joomla 3.1.1注册表单中添加自定义字段

dha*_*val 8 php joomla

最近我偶然发现了Joomla 3.1.1中的一个情况,我需要添加一个附有默认注册表单的自定义字段.

我浏览了现有的资源,说我应该导航到 joomla_root/components/com_users/models/forms/registration.xml,然后相应地更改文件.

我已经做到了,但没有任何东西出现.我还需要在模型和控制器中更改registration.php.所以,我需要你如何做到这一点.我不能使用个人资料插件或商业扩展.

    One more thing that I've noticed is the fact that changing registration.xml file and such things work perfectly fine in Joomla 2.5 but isn't working in 3.x.
Run Code Online (Sandbox Code Playgroud)

Ric*_*orn 8

Joomla附带了一个名为"profile"的用户插件,其中可能包含您想要添加的字段.

在管理员中转到扩展/插件,按类型过滤并选择"用户",然后找到"配置文件"并将其打开.查看右侧的选项,启用插件和瞧.

警告:大多数模板会覆盖注册表单,但它们通常不会触发正确的插件事件.如果是这种情况,您的用户只会在注册中看到"标准"字段.如果你在插件中设置任何字段,它们将不会被注册,而是被重定向到完整的注册页面(用户组件),在那里他们将找到他们已经填写的字段,除了密码,这可能是相当的烦人.

如果"配置文件"字段不足,请复制配置文件插件并构建自己的配置文件.

不要像你所做的那样修改配置文件插件或com_users文件,这是Joomla核心,下次升级时会被覆盖.


dha*_*val 4

最终发现问题出在一个名为 K2 的组件上。我在 joomla 2.5 中尝试了这个自定义注册的东西,然后突然想到禁用 K2 系统插件如何。它起作用了。

我发布了这样做的步骤:

1.导航到 joomla_root/components/com_users/models/forms/registration.xml 并在其中添加一个字段。

2.然后打开joomla_root/components/com_users/models/registration.php,然后在函数register()中更改您的自定义字段。

3.不要忘记在您在registration.xml中添加的数据库表#_users中添加一个字段