【问题标题】:Joomla forgot password email: add the usernameJoomla忘记密码电子邮件:添加用户名
【发布时间】:2012-11-28 11:34:00
【问题描述】:

如何将用户名发送给 Joomla PASSWORD_RESET_CONFIRMATION_EMAIL_TEXT 中的用户?

Joomla“忘记密码”过程会向用户发送一封包含令牌的电子邮件。然后,他们可以使用电子邮件中的 URL 转到“确认您的帐户”页面。但在这里他们需要输入他们的用户名和令牌。如果用户忘记了他们的密码,他们不太可能记住他们的用户名。所以我想在电子邮件中显示用户名,以便用户轻松重置他们忘记的密码。

该网站使用 Joomla 1.5.23。

谢谢。

编辑添加更多信息: 我看过这个关于同样问题的项目: Email Message configuration for forgot password

但这会将$fromname 添加到电子邮件中;这就是已发送电子邮件中显示的站点名称。它不是用户名。所以我不认为这是解决方案。

所以我认为我需要在 components/com_user/models/reset.php 中进行类似的编辑,以将用户名包含在此行的电子邮件消息中(大约第 256 行):

$body = JText::sprintf('PASSWORD_RESET_CONFIRMATION_EMAIL_TEXT', $sitename, $token, $url);

仅添加 $username(文件前面提到的)不会显示任何内容。

然后我会修改语言以引用以下文件中的用户名变量:

language/en-GB/en-GB.com_user.ini

【问题讨论】:

  • 到目前为止你尝试过什么?

标签: joomla joomla1.5


【解决方案1】:

您正在尝试在忘记的电子邮件中添加用户名? 那你可以试试这个。

你可以找到一些与此类似的行。在重置模型中。

$user =& JFactory::getUser();

here the $user object the current requested user email(if exists).
The you will get all the details of that user by using this object.

like $user->username,$user->email etc.

这并不能解决您的问题,那么您应该尝试自定义查询,使用请求的电子邮件 ID(唯一)从 jos_users 获取用户的详细信息。

希望这会有所帮助..

【讨论】:

    【解决方案2】:

    首先,我知道这不是您的问题,但请升级到 Joomla 1.5.26,它是 1.5 系列的最新版本。

    然后尝试在函数中添加以下内容:

    $user =& JFactory::getUser();
    $user2 = $user->username;
    

    然后将$body 变量替换为:

    $body = JText::sprintf('PASSWORD_RESET_CONFIRMATION_EMAIL_TEXT', $sitename, $user2, $token, $url);
    

    【讨论】:

    • 谢谢。我按照这种方法编辑了 components/com_user/models/reset.php 并编辑了语言/en-GB/en-GB.com_user.ini 中的文本。但是给用户的电子邮件在用户名应该是空白的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2018-08-17
    • 2011-02-19
    • 2013-06-24
    相关资源
    最近更新 更多