Magento のインストールでは、すべてのユーザーに必要ないため、「メールの確認が必要」機能を無効にしました。ただし、特定のドメイン「foo.com」のユーザーに、この確認メールを実際に受信してもらいたいと考えています。
メールで送信されたリンクでメールアドレスを確認したら、特定のグループに追加したいと思います。
このタイプの Magento の変更をどこから始めるべきかについて、誰かが私に指示を与えることができますか? どうもありがとうございました!
Magento のインストールでは、すべてのユーザーに必要ないため、「メールの確認が必要」機能を無効にしました。ただし、特定のドメイン「foo.com」のユーザーに、この確認メールを実際に受信してもらいたいと考えています。
メールで送信されたリンクでメールアドレスを確認したら、特定のグループに追加したいと思います。
このタイプの Magento の変更をどこから始めるべきかについて、誰かが私に指示を与えることができますか? どうもありがとうございました!
拡張またはオーバーライドできます
app/code/core/Mage/Customer/controllers/AccountController.php
public function createPostAction()
{
if (true === $validationResult) {
$customer->save();
// Do your custom Code here to match the domains you want to make Confirmation Required for them.
$patterns = array('@foo.com','@boo.com','@bar.com');
$patterns_flattened = implode('|', $patterns);
if ( preg_match('/'. $patterns_flattened .'/i', $customer->getEmail(), $matches) )
{
$customer->setIsConfirmationRequired(true);
}
if ($customer->isConfirmationRequired()) {
$customer->sendNewAccountEmail('confirmation', $this->_getSession()->getBeforeAuthUrl());
$this->_getSession()->addSuccess($this->__('Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please <a href="%s">click here</a>.',
Mage::helper('customer')->getEmailConfirmationUrl($customer->getEmail())
));
$this->_redirectSuccess(Mage::getUrl('*/*/index', array('_secure'=>true)));
return;
}
else {
$this->_getSession()->setCustomerAsLoggedIn($customer);
$url = $this->_welcomeCustomer($customer);
$this->_redirectSuccess($url);
return;
}
}
}
だからあなたは両方の方法でそれを行うことができます
アクティベーション電子メールを有効$customer->setIsConfirmationRequired(false);
にし、電子メールが検証するドメインと一致しなかった場合に設定します (推奨)
アクティベーション電子メールを無効$customer->setIsConfirmationRequired(true);
にし、電子メールが検証するドメインと一致するかどうかを設定します
ありがとう