2015-11-05 51 views
2

我需要在Magento商店结账时运行一些JavaScript来处理一些字段(自动选择运输选项)。由于onepage checkout手风琴的每个阶段都是动态加载的,因此我无法在加载页面时进行此操作,而是需要在手风琴的相关阶段完成时执行此操作。在Magento的onepage结帐过程中是否触发了JavaScript事件?

是否有JavaScript事件我可以挂钩以达到此目的?我期望在下一步开始加载并完成加载时触发事件,但我找不到任何文档。

这样的事情是否存在,或者我需要找到解决方法?

+0

我试图实现类似的东西在不久前,我找不到任何东西。我最终做的是将opcheckout.js文件复制到我的主题的皮肤文件夹中并更改该文件。 –

+0

@SamuelComan - 是的,我已经通过覆盖现有的方法来完成这项工作,以完成正常的功能以及我自己的功能。这不是一个很干净的方法,因为适用于此功能的任何主题更新都不会生效。在我的研究中,没有JS事件被解雇,这在我看来是相当疏忽的。 – Mike

回答

0

有一个解决方案,但它有点肮脏。 你可以“覆盖” Checkout.prototype.gotoSection这样:

<script type="text/javascript"> 

    // Make ref to default function 
    Checkout.prototype.baseGotoSection = Checkout.prototype.gotoSection; 

    // "Rewrite" function 
    Checkout.prototype.gotoSection = function(section, reloadProgressBlock){ 

     // <your code> 

     // call default function 
     return this.baseGotoSection(section, reloadProgressBlock); 
    }; 

</script> 
相关问题