0

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

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

该网站使用 Joomla 1.5.23。

谢谢。

编辑以添加更多信息:我已经看到有关相同问题的此项目: 忘记密码的电子邮件配置

但这会添加$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
4

2 回答 2

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);
于 2012-11-28T16:35:53.240 回答
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.

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

希望这会有所帮助..

于 2012-11-28T16:21:46.373 回答