如何在Joomla 3.x中将电子邮件设置为用户名?

时间:2013-12-12 19:24:32

标签: php email joomla joomla3.2

我设法通过向数据库添加字段并调整xml文件和php文件来编辑大部分注册表单。我甚至找到了一个免费的插件,允许用电子邮件而不是用户名登录。

但我无法找到完全删除用户名的方法。或者至少从表单中删除它并创建一个自动用户名(用户甚至不需要看到它)

我很清楚Email as Username插件,但希望没有它我可以做到。

2 个答案:

答案 0 :(得分:7)

所以这会有点棘手。 Joomla不允许将电子邮件传递给身份验证插件,因此您必须通过username字段对其进行代理。

在网站上,我创建了一个新的登录模块,只是将username字段的标签更改为“电子邮件”。您仍需要将字段名称保留为username

然后,在Joomla Authentication插件中,请参阅https://github.com/joomla/joomla-cms/blob/master/plugins/authentication/joomla/joomla.php#L50

尝试将该行更改为:

->where('email=' . $db->quote($credentials['username']));

现在试试黑客,看看它是否有效。如果它完成所有你需要做的就是复制该插件,并进行修改,并将其重命名为其他东西(记得恢复原始插件中的旧代码)。让我知道你是怎么走的。

答案 1 :(得分:0)

它不会更简单:

注册

  • 隐藏用户名字段(CSS)

  • 保存(在创建和编辑期间),请在用户名字段中填写该电子邮件的值。 (我不是开发人员,在这里不能提供帮助)也许,您有个想法/建议吗?

登录

  • 使用简单的语言替代,将“用户名”标签更改为“电子邮件”(电子邮件和警报中的内容相同)