2013-10-29 65 views
3

我已經創建了一種付款方式,並且工作正常。訂單發出時,默認情況下會發送一封電子郵件,但只有在使用我自己的付款方式時纔會阻止該訂單。當用戶選擇我的付款方式並點擊place an order按鈕時,我不希望發送電子郵件。如何限制發送訂單郵件給Magento的客戶

一旦用戶點擊place an order按鈕,哪個文件,函數或哪個事件用於發送電子郵件?

+0

$ orders - > getEmailSent()您可以限制用戶發送電子郵件。 – drsndodiya

回答

0

此事件在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(); ... 
} 
0

有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(); 
} 

希望能幫助!

相關問題