我正在使用magento 1.6.1.0构建一个电子商务网站。我正在使用一个扩展程序,强制用户在进入网站之前登录。一切都很顺利,问题只在于忘记密码重置链接。该扩展名也阻止了此重置密码链接。我没有得到该扩展团队的任何支持。
今天早上我在电子邮件模板中工作,以更改magento默认徽标。那时我有一个想法,在创建一个新帐户时,我们将获得电子邮件,密码的详细信息。为什么我们不能使用该电子邮件模板而不是重置密码链接模板?
我尝试将所有内容从account_new.html
复制粘贴到account_password_reset_confirmation.html
的app/locale/en_US/template/email
完成这些更改后,我收到了一封电子邮件,邮件是:[email protected]和密码:
我把邮件作为空密码字段。
请指导我将忘记密码的模板从account_password_reset_confirmation.html
更改为account_new.html
,以便我可以直接发送密码。
如果你使用,我可以让你的代码进行调试
$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);