1

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

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

我尝试复制粘贴所有内容 from account_new.htmlto account_password_reset_confirmation.htmlfromapp/locale/en_US/template/email

完成这些更改后,我收到一封带有 emailL:xxx@mydomain.com 和密码的电子邮件:

我收到的邮件是空密码字段。

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

4

1 回答 1

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);
于 2015-01-02T08:34:55.380 回答