Joomla忘记密码电子邮件:添加用户名

时间:2012-11-28 11:34:01

标签: joomla joomla1.5

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

Joomla"忘了密码"进程向用户发送包含令牌的电子邮件。然后,他们可以使用电子邮件中的网址转到"确认您的帐户"页。但是在这里他们需要输入他们的用户名和令牌。如果用户忘记了密码,他们就不太可能记住他们的用户名。因此,我希望在电子邮件中显示用户名,以便用户轻松重置忘记的密码。

该网站使用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

2 个答案:

答案 0 :(得分:0)

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

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

$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.

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

希望这会有所帮助..

答案 1 :(得分:0)

首先,我知道这不是您的问题的一部分,但请升级到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);