我需要部分覆盖 OnePage 控制器的 indexAction。我正在尝试添加一种方式,以直接进入返回单页结帐的审核步骤-此时所有其他步骤都已完成,只是 Magento 的行为是重新开始!这也意味着对 onestep.phtml 的更改,但我还没有走远!
我的控制器覆盖工作正常。我可以在控制器上添加一个新操作,比如 reviewStepAction,但如果我将此作为简单的测试覆盖,则不会显示标准的单页结帐。我只有标准侧边栏的空白页:
public function reviewStepAction() {
parent::indexAction();
}
我还尝试将 indexAction 复制并修改为我的操作函数,但仍然没有显示单页结帐。indexAction 的最后一部分是:
$this->getOnepage()->initCheckout();
$this->loadLayout();
$this->_initLayoutMessages('customer/session');
$this->getLayout()->getBlock('head')->setTitle($this->__('Checkout'));
$this->renderLayout();
所以我猜它不起作用,因为 URL 是 ../checkout/onpegage/reviewstep 所以它试图加载一个“reviewstep”布局而没有找到一个。如何通过加载通常的 /checkout/onepage 布局来强制 reviewStepAction 完成?我正在使用Mage::getSingleton('checkout/opnepage)
,但这只是崩溃了。
我不能在我的操作结束时重定向到 checkout/onepage,因为这会调用标准 indexAction 并且我需要在 and 之间插入一些initCheckout
东西renderLayout
。
谢谢。