我设法通过向数据库添加字段并调整xml文件和php文件来编辑大部分注册表单。我甚至找到了一个免费的插件,允许用电子邮件而不是用户名登录。
但我无法找到完全删除用户名的方法。或者至少从表单中删除它并创建一个自动用户名(用户甚至不需要看到它)
我很清楚Email as Username插件,但希望没有它我可以做到。
答案 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)
保存(在创建和编辑期间),请在用户名字段中填写该电子邮件的值。 (我不是开发人员,在这里不能提供帮助)也许,您有个想法/建议吗?
登录