我设法通过向数据库添加字段并调整 xml 文件和 php 文件来编辑大部分注册表单。我什至找到了一个免费插件,允许使用电子邮件而不是用户名登录。
但我想不出完全删除用户名的方法。或者至少从表单中删除它并创建一个自动用户名(用户甚至不需要真正看到)
我很清楚 Email as Username插件,但希望没有它我也能做到。
最佳答案
所以这会有点棘手。 Joomla 不允许将电子邮件传递给身份验证插件,因此您将不得不通过 username
字段对其进行代理。
在该站点上,我将创建一个新的登录模块,该模块只是将 username
字段的标签更改为“Email”。您仍然需要将该字段的名称保留为 username
。
然后,在 Joomla 身份验证插件中,查看 https://github.com/joomla/joomla-cms/blob/master/plugins/authentication/joomla/joomla.php#L50
尝试将该行更改为:
->where('email=' . $db->quote($credentials['username']));
现在就试试这个 hack,看看它是否有效。如果它确实如此,您需要做的就是复制该插件,进行修改,并将其重命名为其他名称(记住要恢复原始插件中的旧代码)。让我知道你过得怎么样。
关于php - 我如何在 Joomla 3.x 中将电子邮件设置为用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552383/