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

标签 php email joomla joomla3.2

我设法通过向数据库添加字段并调整 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/

相关文章:

php - nginx 错误 : "No input file specified" when website in subdirectory

php - 在 foreach 循环中修改数组值

python - 如何设置 DJANGO_SETTINGS_MODULE 环境变量?

git - Jenkins 电子邮件扩展插件电子邮件通知的收件人是什么?

mysql - 根据条件选择记录 - Joomla

php - 带有安全事实的 PHP 开源 CMS!

php - CakePHP:使用文本助手剥离 HTML?

php - 来自 DB 的漂亮 URL

php - Zend Framework 在生产环境中优雅地处理异常

php - 如何使用 php 链接电子邮件地址