| 
       
	Magento默认支持Paypal付款方式。最近的一个Magento项目中,客户要求在用户通过Paypal付款跳转到支付界面时,会发送一封订单确认邮件给下单用户。无论用户是否成功付款。 
	该步骤可以通过扩展Paypal模块中的跳转方法实现。下面这段代码是默认的redirecAtion()方法。在跳转过程中,进行的都是订单信息相关的汇总收集。 
	public function redirectAction() {     
	$session = Mage::getSingleton('checkout/session');      
	$session->setPaypalStandardQuoteId($session->getQuoteId());        
	$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());      
	$session->unsQuoteId();  
	}  
	通过将上面的代码修改为以下内容,可以完成给用户发送订单确认邮件的功能。完整代码如下。 
	public function redirectAction() {      
	$session = Mage::getSingleton('checkout/session');      
	$session->setPaypalStandardQuoteId($session->getQuoteId()); 
	        
	/* 用于发送订单确认邮件的代码片段开始 */     
	$order = Mage::getModel('sales/order');      
	$order->load(Mage::getSingleton('checkout/session')->getLastOrderId());      
	$order->sendNewOrderEmail();      
	$order->setEmailSent(true);      
	$order->save();       
	  
	/* 用于发送订单确认邮件的代码片段结束 */  
	 
	$this->getResponse()->setBody($this->getLayout()->createBlock('paypal/standard_redirect')->toHtml());      
	$session->unsQuoteId();  
	} 
      
      (责任编辑:最模板) |