繁体   English   中英

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

[英]Adding custom field in default joomla 3.1.1 registration form

最近我偶然发现了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.

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

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

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

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

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

最终事实证明问题是一个名为K2的组件 。我在joomla 2.5中尝试了这个自定义注册的东西然后突然想到如何禁用K2系统插件......它工作正常。

我发布了这样做的步骤:

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

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

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

根据您是否需要将自定义字段添加到数据库,您可以使用表单构建组件,如RSForm!ProChronoForms 它们都可以绑定到Joomla中的用户注册系统,并为您提供自定义电子邮件的灵活性,向数据库表添加信息等。这将使您免受可能消除修改的任何核心更新。 我相信Chronoforms是免费的,只要你不介意回复表单中的开发人员。

如果你不能这样做,我会确保在更新网站之前备份了我修改过的文件。 Joomla 3.1.x是一个短期构建,因此与使用Joomla 2.5.x站点相比,您更改这些文件的风险更高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM