我需要在 magento 网站中插入一些附属标签。问题是,我找不到付款确认事件在哪里被捕获以将用户重定向到success.phtml 谢谢
问问题
1004 次
1 回答
0
订单/支付过程由 Mage_Checkout_OnepageController 控制器类(在“app/code/core/Mage/Checkout/controllers/OnepageController.php”中)中的 saveOrderAction() 操作方法进行。
一旦订单成功,客户将被重定向到您提到的成功页面,该页面由 Mage_Checkout_OnepageController 中的 successAction() 操作方法处理。
附属网络标签很可能应该直接放置在“success.phtml”中。您应该有权访问该模板文件中所需的所有订单数据。但是,如果由于某种原因您需要做的工作超出了模板文件的适当范围,您可以处理在 successAction() 中抛出的 'checkout_onepage_controller_success_action' 事件:
/**
* Order success action
*/
public function successAction()
{
$session = $this->getOnepage()->getCheckout();
if (!$session->getLastSuccessQuoteId()) {
$this->_redirect('checkout/cart');
return;
}
$lastQuoteId = $session->getLastQuoteId();
$lastOrderId = $session->getLastOrderId();
$lastRecurringProfiles = $session->getLastRecurringProfileIds();
if (!$lastQuoteId || (!$lastOrderId && empty($lastRecurringProfiles))) {
$this->_redirect('checkout/cart');
return;
}
$session->clear();
$this->loadLayout();
$this->_initLayoutMessages('checkout/session');
Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));
$this->renderLayout();
}
于 2013-05-14T21:31:35.417 回答