0
我正在magento工作。Magento作为一个单独的结帐流程一步结帐,并保持默认流程,因为它是
我想为特定类型的订单实施一步结帐。除此之外,我想保留magento默认的一页结帐流程。
这可能吗?我试图谷歌,但不幸的是没有取得任何成功。
感谢, 米兰
我正在magento工作。Magento作为一个单独的结帐流程一步结帐,并保持默认流程,因为它是
我想为特定类型的订单实施一步结帐。除此之外,我想保留magento默认的一页结帐流程。
这可能吗?我试图谷歌,但不幸的是没有取得任何成功。
感谢, 米兰
中只看onestepcheckout扩展config.xml中,你会看到一个事件:
<controller_action_predispatch_checkout_onepage_index>
<observers>
<magenthemes_onestepcheckout_observer>
<type>singleton</type>
<class>onestepcheckout/observer</class>
<method>initController</method>
</magenthemes_onestepcheckout_observer>
</observers>
</controller_action_predispatch_checkout_onepage_index>
所以,你需要在应用程序更改功能initController()/代码/本地/ Magenthemes/Onestepcheckout/Model/Observer.php。这里是:
public function initController($observer) {
if (Mage::helper('onestepcheckout')->isActive()) {
$observer->getControllerAction()->_redirect('onestepcheckout');
}
}
此功能只是检查是否启用扩展和从结帐/ onepage重定向到onestecheckot。您可以使用这样的事情:
public function initController($observer) {
$event = $observer->getEvent();
$order = $event->getOrder();
$use_onestep = true;// do some checks here using $order and set result (true|false)
if (Mage::helper('onestepcheckout')->isActive() && $use_onestep) {
$observer->getControllerAction()->_redirect('onestepcheckout');
}
}
在结果,默认过程将去收银台/ onepage并在需要时重定向到一步法结账。
非常感谢您的帮助,但我已经完成了这项任务,巧合的是我按照您的建议完成了一些任务。这是实现这一目标的最佳途径。谢谢一吨亚光。 –