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

问题描述 投票:2回答:2

我设法通过将字段添加到数据库并调整xml文件和php文件来编辑大多数注册表单。我什至找到了一个免费插件,该插件允许使用电子邮件而非用户名登录。

但是我想不出一种完全删除用户名的方法。或至少将其从表单中删除并创建一个自动用户名(该用户甚至根本不需要看到该用户名)

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

php email joomla joomla3.2
2个回答
7
投票

所以这将有些棘手。 Joomla不允许将电子邮件传递到身份验证插件,因此您将不得不通过username字段进行代理。

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

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

尝试将该行更改为:

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

现在就尝试尝试一下,看看是否可行。如果这样做,您需要做的就是复制修改后的插件,然后将其重命名为其他名称(请记住,要在原始插件中还原旧代码)。让我知道你的情况。


0
投票

没有那么简单:

注册

  • 隐藏用户名字段(CSS)

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

登录

  • 使用简单的语言替代,将“用户名”标签更改为“电子邮件”(在电子邮件和警报中相同)
© www.soinside.com 2019 - 2024. All rights reserved.