Magento更改密码重置电子邮件模板

时间:2012-05-08 07:00:46

标签: email templates magento forgot-password

我正在使用magento 1.6.1.0构建一个电子商务网站。我正在使用一个扩展程序,强制用户在进入网站之前登录。一切都很顺利,问题只在于忘记密码重置链接。该扩展名也阻止了此重置密码链接。我没有得到该推广团队的任何支持。

今天早上我在电子邮件模板中工作,以更改magento默认徽标。那时我有一个想法,在创建一个新帐户时,我们将获得电子邮件,密码的详细信息。为什么我们不能使用该电子邮件模板而不是重置密码链接模板?

我尝试将account_new.html中的所有内容从account_password_reset_confirmation.html复制粘贴到app/locale/en_US/template/email

完成这些更改后,我收到了一封电子邮件,邮箱为:xxx@mydomain.com&密码:

我把邮件作为空密码字段。

请指导我将忘记密码的模板从account_password_reset_confirmation.html更改为account_new.html,以便我可以直接发送密码。

1 个答案:

答案 0 :(得分:0)

如果您使用

,我可以让您的代码进行调试
$customer = Mage::getModel("customer/customer");
         $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
         $customer->getPassword();
它不会工作。 密码将在数据库中加密。所以你不能利用它。唯一的方法是生成新密码并在数据库中更新它并将新密码发送到用户邮件。

生成自定义密码的示例代码

$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";     //Random password generation
             $pass = array(); //remember to declare $pass as an array
             $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
             for ($i = 0; $i < 6; $i++) {
                 $n = rand(0, $alphaLength);
                 $pass[] = $alphabet[$n];
             }
             $newpassword =implode($pass);