我已經創建了一種付款方式,並且工作正常。訂單發出時,默認情況下會發送一封電子郵件,但只有在使用我自己的付款方式時纔會阻止該訂單。當用戶選擇我的付款方式並點擊place an order
按鈕時,我不希望發送電子郵件。如何限制發送訂單郵件給Magento的客戶
一旦用戶點擊place an order
按鈕,哪個文件,函數或哪個事件用於發送電子郵件?
我已經創建了一種付款方式,並且工作正常。訂單發出時,默認情況下會發送一封電子郵件,但只有在使用我自己的付款方式時纔會阻止該訂單。當用戶選擇我的付款方式並點擊place an order
按鈕時,我不希望發送電子郵件。如何限制發送訂單郵件給Magento的客戶
一旦用戶點擊place an order
按鈕,哪個文件,函數或哪個事件用於發送電子郵件?
此事件在Checkout/controllers/OnePageController/SuccessAction中觸發。 Mage :: dispatchEvent('checkout_onepage_controller_success_action'); //線197
我建議請認準以下的文件和方法
/app/code/core/Mage/Checkout/controllers/OnepageController.php
public function successAction(){...
Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId))); ...
}
/app/code/core/Mage/Checkout/Model/Type/Onepage.php
public function saveOrder(){...
$order->sendNewOrderEmail(); ...
}
有2個文件你需要更新的地方。
對於onestepcheckout:\app\code\core\Mage\Checkout\Model\Type\Onepage.php
更新public function saveOrder()
刪除: $order->sendNewOrderEmail();
地址:
if($order->getPayment()->getMethod()!="YOUR_CUSTOM_PAYMENT_METHOD_NAME") {
$order->sendNewOrderEmail();
}
對於multishippingcheckout:\app\code\core\Mage\Checkout\Model\Type\Multishipping.php
更新公共function createOrders()
刪除: $order->sendNewOrderEmail();
地址:
if($order->getPayment()->getMethod()!="YOUR_CUSTOM_PAYMENT_METHOD_NAME") {
$order->sendNewOrderEmail();
}
希望能幫助!
$ orders - > getEmailSent()您可以限制用戶發送電子郵件。 – drsndodiya