如何在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
答案 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);