我需要樣式Magento的訂單成功頁面/checkout/onepage/success/
,但因爲它沒有訂單會話時重定向我無法刷新頁面來檢查我的更改!Magento如何停止/結帳/ onepage /成功/重定向
任何人都知道我可以暫時停止此重定向用於測試目的?
我需要樣式Magento的訂單成功頁面/checkout/onepage/success/
,但因爲它沒有訂單會話時重定向我無法刷新頁面來檢查我的更改!Magento如何停止/結帳/ onepage /成功/重定向
任何人都知道我可以暫時停止此重定向用於測試目的?
您可以更改/app/code/core/Mage/Checkout/controllers/OnepageController.php
文件。修改successAction,看起來像這樣:
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();
}
記得在完成後刪除註釋!
Firefox會讓你禁用HTTP重定向,但是你可能不得不暫時破解一個控制器讓你留在頁面上。
發現禁用HTTP重定向沒有工作。你知道我需要看什麼控制器嗎? Magento中有一百萬次重定向!謝謝 – sulman 2011-03-24 14:09:34
我建議使用此代碼來替換你的successAction:
/**
* Order success action
*/
public function successAction()
{
$session = $this->getOnepage()->getCheckout();
$session->setLastSuccessQuoteId(20); // <<< add your order entity ID
$session->setLastQuoteId(20); // <<< add your order entity ID
$session->setLastOrderId(20); // <<< add your order entity ID
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(); // <<< comment it
$this->loadLayout();
$this->_initLayoutMessages('checkout/session');
Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));
$this->renderLayout();
}
問候
雖然代碼的修改可能是渴望,還有一個擴展,專門爲這個:
https://www.yireo.com/blog/1672-testing-the-magento-checkout-success-page
披露:我絕不是編碼員/開發人員,所以擴展路線吸引我(儘管我很樂意進行這些更改)。
雖然這個鏈接可能會回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。 如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Ghost 2015-01-14 03:57:53
如果任何人都將是搜索同一個解決方案Magento的2停止重新加載頁面後從成功頁面重定向 - 那就是:
快速和調試髒解決方案:
/* if (!$this->_objectManager->get('Magento\Checkout\Model\Session\SuccessValidator')->isValid()) { return $this->resultRedirectFactory->create()->setPath('checkout/cart'); } $session->clearQuote(); */
正確的解決方案使用模塊都可以在這裏https://gielberkers.com/style-checkoutonepagesuccess-page-magento-2/
完美!謝謝M_F! – sulman 2011-03-24 14:11:54
真棒可以幫助很多 – 2014-07-10 13:12:41