Magento 2.0.7:订阅出现问题。
Magento 2.0.7: Something went wrong with the subscription.
订阅时事通讯时出错。怎么修?
这是这个错误的问题和解决方案:
当我们输入一个新的电子邮件地址(未连接到现有订阅者的地址)时,订阅者对象 ($this) 还没有 ID ($this->getId(); // null) Magento\Newsletter\Model\Subscriber::订阅.
在保存订阅者之前发送了验证电子邮件,因此验证中缺少订阅者 ID link。 link 当你点击它时没有做任何事情,因为 Magento\Newsletter\Controller\Subscriber\Confirm::execute 中的验证方法因为缺少 id 而拒绝 link .
您可以通过在调用 $this->sendConfirmationRequestEmail(); 之前调用 $this->save() 轻松解决问题
try {
$this->save();
if($isConfirmNeed === true && $isOwnSubscribes === false)
{
$this->sendConfirmationRequestEmail();
} else {
$this->sendConfirmationSuccessEmail();
}
return $this->getStatus();
} catch (\Exception $e) {
throw new \Exception($e->getMessage());
}
我只是移动了''save'''- 呼叫几行。 sendConfirmationRequestEmail 和 sendConfirmationSuccessEmail 似乎没有改变 $thisobject,所以这是一个有效的改变不要破坏其他任何东西。
我刚刚在 Magento 2 中将 "Disable Email Communications" 更改为是(商店 > 配置 > 高级 > 系统 > 邮件发送设置 > 禁用电子邮件通信)。
订阅时事通讯时出错。怎么修?
这是这个错误的问题和解决方案:
当我们输入一个新的电子邮件地址(未连接到现有订阅者的地址)时,订阅者对象 ($this) 还没有 ID ($this->getId(); // null) Magento\Newsletter\Model\Subscriber::订阅.
在保存订阅者之前发送了验证电子邮件,因此验证中缺少订阅者 ID link。 link 当你点击它时没有做任何事情,因为 Magento\Newsletter\Controller\Subscriber\Confirm::execute 中的验证方法因为缺少 id 而拒绝 link .
您可以通过在调用 $this->sendConfirmationRequestEmail(); 之前调用 $this->save() 轻松解决问题
try {
$this->save();
if($isConfirmNeed === true && $isOwnSubscribes === false)
{
$this->sendConfirmationRequestEmail();
} else {
$this->sendConfirmationSuccessEmail();
}
return $this->getStatus();
} catch (\Exception $e) {
throw new \Exception($e->getMessage());
}
我只是移动了''save'''- 呼叫几行。 sendConfirmationRequestEmail 和 sendConfirmationSuccessEmail 似乎没有改变 $thisobject,所以这是一个有效的改变不要破坏其他任何东西。
我刚刚在 Magento 2 中将 "Disable Email Communications" 更改为是(商店 > 配置 > 高级 > 系统 > 邮件发送设置 > 禁用电子邮件通信)。