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並在需要時重定向到一步法結賬。
非常感謝您的幫助,但我已經完成了這項任務,巧合的是我按照您的建議完成了一些任務。這是實現這一目標的最佳途徑。謝謝一噸亞光。 –