Php Magento将一步签出作为一个单独的签出流,并保持默认流不变
我在magento工作 我想为特定类型的订单实现一步签出。除此之外,我希望保持magento默认的单页签出流不变 可能吗?我曾尝试谷歌,但不幸的是没有得到任何成功 谢谢,Php Magento将一步签出作为一个单独的签出流,并保持默认流不变,php,magento,magento-1.7,checkout,Php,Magento,Magento 1.7,Checkout,我在magento工作 我想为特定类型的订单实现一步签出。除此之外,我希望保持magento默认的单页签出流不变 可能吗?我曾尝试谷歌,但不幸的是没有得到任何成功 谢谢, 米兰查看onestepcheckout扩展中的config.xml,您将看到下一个事件: <controller_action_predispatch_checkout_onepage_index> <observers> <magenthemes_onestepcheckout_ob
米兰查看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>
此函数只需检查扩展是否已启用,并从checkout/onepage重定向到onestepcheckot。您可以使用以下内容:
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');
}
}
结果,默认情况下,流程将转到checkout/onepage,并在需要时重定向到onestep checkout 非常感谢你的帮助,但我已经完成了这项任务,巧合的是,我已经按照你的建议做了一些事情。这是实现这一目标的最佳途径。谢谢你,马特。
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');
}
}