Magento中是否有觀察者檢測結帳過程的開始?這將包括點擊頁面checkout/onepage/
或checkout/onestepcheckout/
。如果可能的話,我想避免重寫控制器。觀察員結帳開始
觀察員結帳開始
回答
每個控制器操作都會導致多個目標事件,這些事件會在所有操作控制器的超類Mage_Core_Controller_Varien_Action
(link)中觸發。這些事件不同地涉及從模塊路由器配置+控制器路徑+操作派生的「完整操作名稱」,以及正在請求的路由名稱。
在標準onepage結帳的情況下,完整操作名稱爲checkout_onepage_index
,路由名稱爲checkout_onepage
。
renderLayout():
controller_action_layout_render_before_'.$this->getFullActionName()
preDispatch()方法:
controller_action_predispatch_' . $this->getRequest()->getRouteName()
controller_action_predispatch_' . $this->getFullActionName()
postDispatch()方法:
controller_action_postdispatch_' . $this->getRequest()->getRouteName()
controller_action_postdispatch_' . $this->getFullActionName()
你觀察將取決於OneStepCheckout模塊如何捕捉路線事件。如果您需要區分路線和模塊,基於getRouteName()
的事件可能會很有用。您需要測試「客戶已登錄」和「客戶已註銷」的情況。雖然predispatch事件對於涉及重定向的邏輯是首選,但您需要在重複購物車/報價+客戶會話邏輯之間平衡您的需求。
看看@controller_action_predispatch_checkout_onepage_index
事件
爲什麼你想這樣做,那麼晚?根據你正在檢查的內容,你可能會在將它們添加到購物車後執行此操作? checkout_cart_save_before
他們可以添加到購物車,查看錯誤消息,但仍然檢查出來。如果條件不滿足,我需要完全阻止結帳,優先選擇正確的開始。 –
您可以更換購物車,因此符合條件。但是,如果您不想更換購物車,那麼您應該參加派送活動 –
- 1. NSNotification觀察員開銷
- 2. Rxjs觀察員
- 3. 對觀察員的觀察員觀察員是否會發生任何變化?
- 4. 簡單的觀察到/觀察員rxjs
- 5. 觀察員可以觀察多個可觀察物嗎?
- 6. onClick vs觀察員
- 7. magento sales_order_place_after觀察員
- 8. 可觀察 - 開始發出有條件
- 9. 如何在x秒後開始觀察
- 10. 觀察員與觸發器
- 11. 利用觀察員/從rxjs
- 12. ios,healthkit觀察員查詢
- 13. 突變觀察員--- subtree
- 14. 觀察員和線程
- 15. 購物車觀察員
- 16. 觀察員未刪除
- 17. 觀察員缺少更新?
- 18. IOS註銷觀察員
- 19. 在觀察員的rails expire_action?
- 20. 觀察員?設計模式
- 21. 在Magento觀察員聲明
- 22. 觀察員專用jgroups集羣成員?
- 23. 可以觀察一個班級和觀察員嗎?
- 24. iPhone鍵值觀察報:觀察員的UITableViewController
- 25. 如何在原始觀察值平坦化爲新的觀察值之後再聽原始觀察值?
- 26. 核心價值觀測添加三個觀察員觀察一個類值
- 27. RxJava結合觀察值
- 28. RxJS結合可觀察
- 29. 配料結果可觀察
- 30. 在Stata總結觀察
你想建立一個客戶數量還是什麼? –
我想先對購物車中的物品進行驗證,如果驗證失敗,請將其重定向到購物車頁面。 –
你將不得不這樣做與PHP見http://www.magentocommerce.com/boards/viewthread/294962/ –