0
我注意到下面的錯誤歡迎郵件:Magento的:核心向客戶保存後
當我使用管理後臺地址添加到一個客戶,或者如果我更改地址,我保存了客戶,Magento的Costumer AccountController發送標準電子郵件給更新的客戶。所使用的電子郵件模板是客戶事件「已確認」的模板。我更新客戶時總會發生這種情況。
有人有同樣的問題或解決方案嗎?我不明白爲什麼Magento的發送電子郵件此事件......
我注意到下面的錯誤歡迎郵件:Magento的:核心向客戶保存後
當我使用管理後臺地址添加到一個客戶,或者如果我更改地址,我保存了客戶,Magento的Costumer AccountController發送標準電子郵件給更新的客戶。所使用的電子郵件模板是客戶事件「已確認」的模板。我更新客戶時總會發生這種情況。
有人有同樣的問題或解決方案嗎?我不明白爲什麼Magento的發送電子郵件此事件......
類:Mage_Adminhtml_CustomerController
延伸Mage_Adminhtml_Controller_Action
了Methode:saveAction()
解決方法:這是一個從舊版本的核心錯誤。保存客戶後發送郵件的條件使用isset($sendPassToEmail)
。但是,如果您注意到,sendPassToEmail
變量始終設置並且值爲true或false。由於isset()
的條件始終如此,每次保存客戶時都會發送一封電子郵件。
...
$sendPassToEmail = false;
// force new customer active
if ($isNewCustomer) {
$customer->setPassword($data['account']['password']);
$customer->setForceConfirmed(true);
if ($customer->getPassword() == 'auto') {
$sendPassToEmail = true;
$customer->setPassword($customer->generatePassword());
}
}
Mage::dispatchEvent('adminhtml_customer_prepare_save', array(
'customer' => $customer,
'request' => $this->getRequest()
));
$customer->save();
// send welcome email
if ($customer->getWebsiteId() && (!empty($data['account']['sendemail']) || isset($sendPassToEmail))) {
$storeId = $customer->getSendemailStoreId();
if ($isNewCustomer) {
$customer->sendNewAccountEmail('registered', '', $storeId);
}
// confirm not confirmed customer
else if ((!$customer->getConfirmation())) {
$customer->sendNewAccountEmail('confirmed', '', $storeId);
}
}