我需要部分覆蓋OnePage控制器的indexAction。我試圖添加一個方法,直接返回到onepage checkout的審覈步驟 - 此時所有其他步驟都已完成,這只是Magento的行爲重新開始!這也意味着對onestep.phtml的改變,但是我還沒有做到!Magento - 部分覆蓋OnePage控制器的indexAction
我的控制器覆蓋工作正常。我可以在控制器上添加一個新動作,比如說reviewStepAction,但是如果我將它作爲測試的簡單覆蓋,則不會顯示標準onepage結帳。我得到的空白頁只是標準的側邊欄:
public function reviewStepAction() {
parent::indexAction();
}
我還試圖複製和修改的indexAction我的動作功能,但仍沒有得到onepage結賬時顯示。的indexAction的最後一部分是:
$this->getOnepage()->initCheckout();
$this->loadLayout();
$this->_initLayoutMessages('customer/session');
$this->getLayout()->getBlock('head')->setTitle($this->__('Checkout'));
$this->renderLayout();
所以我猜它不工作,因爲URL是../checkout/onpegage/reviewstep所以它試圖加載了「reviewstep」佈局,而不是找到一個。我如何強制reviewStepAction完成加載通常/結帳/ onepage佈局?我tred使用Mage::getSingleton('checkout/opnepage)
,但只是墜毀。
我不能只是在我的動作結束時重定向到checkout/onepage,因爲那樣會調用標準的indexAction,我需要在initCheckout
和renderLayout
之間插入一些東西。
謝謝。
有人嗎?讓我總結一下:我已經向Onepage控制器添加了一個動作,並且在動作結束時我要渲染正常的onepage結帳頁面。真的很容易說,但看似不可能做到! –