在阅读了Ivan Chepurnyi的这条推文并不得不为客户网站的 OnePage Checkout(又名 OPC)添加一个步骤后,我认为这是学习新东西的绝佳机会。
我是事件/观察者的忠实粉丝,并尝试尽可能多地使用它们,但到目前为止,正是对于 OPC,我发现使用它们并不是很优雅。我的意思是,没有可以使用的有用事件(据我所知)。
例如,在我的脑海中,我想到了两件事我必须改变并且重写非常容易,而事件/观察者会过于复杂:
- 步骤:
Mage_Checkout_Block_Onepage::getSteps()
定义组成 OPC 的不同步骤。我真的看不出有什么事件可以让我改变它 - goto:当一个步骤完成时,相应的操作将返回 html以及数据
Mage_Checkout_OnepageController
以供下一步使用。同样,我没有看到任何有趣的事件goto_section
update_section
这只是没有真正研究我必须实现的每一个细节,我想还有更多的陷阱。
javascript 部分也是如此:我习惯于扩展结帐 js 类:
var MyModule = Class.create(Checkout, {
//write some code here
});
但我想知道是否有更好的方法。
我意识到 Ivan 的推文是为 PSP 开发人员准备的,而且我正在为最终客户工作,但我想学习一些新东西