2011-09-22 60 views
3

当前试图让onepage checkout在安装Magento 1.6.0.0时正常工作。Magento onepage checkout上的“下订单”按钮没有响应。 (Inline JS没有执行。)

每个步骤都可以正常工作,直到最终审阅订单框,地方订单按钮给出错误review not defined,试图触发review.save() OnClick事件。

以下脚本应创建此review对象。它与按钮位于同一个文件中,并在用户到达订单流程的最后一步时通过AJAX调用。如果我直接访问该文件,则会执行此代码并创建对象,只有当它通过结帐页面拉入时才会运行。

<script type="text/javascript"> 
    //<![CDATA[ 
    review = new Review('http://example.org/checkout/onepage/saveOrder/', 'http://example.org/checkout/onepage/success/', $('checkout-agreements')); 
    SageServer = new EbizmartsSagePaySuite.Checkout 
    ({ 
    'checkout': checkout, 
    'review': review, 
    'payment': payment, 
    'billing': billing, 
    'accordion': accordion 
    }); 
    //]]> 
</script> 

我似乎无法找到任何人谁在遇到这个问题,每一个版本的代码(由各种不同的模块)做它用这种方式,所以我不知道为什么这个JS不正在执行。

有没有人有任何想法?

+0

已经尝试使用大写的 'R',i.e.''review:回顾,'? –

+0

我当时试过,但这绝对是上述脚本没有执行的情况。如果我向它添加警报,它将不会显示,除非我直接查看该位代码。当它被拉入结帐页面时,它不会显示。 –

回答

3

这是升级吗?如果是这样,试试这个:http://sree.cc/magento_ecommerce_tips/checkout-not-working-on-magento-version-1-4-x 即使它不是升级,也请试试。我用这个解决方案多次修复了完全相同的问题。

我会做差异。用像WinMerge这样的软件。检查您的结帐设计文件夹和基础Magento之间的差异。

应用程序/设计/前端/基/默认/模板/结帐 与 应用程序/设计/前端/默认/ YOUR_THEME /模板/结帐

还要检查XML文件: 应用程序/设计/前端/base/default/layout/checkout.xml 与 app/design/frontend/default/YOUR_THEME/layout/checkout.xml

希望这会有所帮助。

弗朗索瓦

+0

一年之后才看到这一点!我们找到了解决问题的方法,但不幸的是,我不记得我们做了什么,但我相信客户只是要求我们使用不同的结帐模块,因此问题自行解决。不过,我将此标记为答案,因为鉴于问题的情况,我几乎可以肯定这将解决问题。 –

0

我通过followwing代码得到了同样的问题的解决方案,这可能会帮助你。

替换基本文件以下路径 应用程序/设计/前端/默认/ your_theme /模板/结帐/ onepage /评论/ info.phtml (或)

替换info.phtml的行号81 (''checkout/onepage/saveOrder',array('form_key'=> Mage :: getSingleton('core/session') - > getFormKey()))?>',' getUrl('checkout/onepage/success')?>',$('checkout-agreements'));

6

我们正在迁移到一个更新的Magento版本(1.8),并且“Place Order”按钮也不适合我们。

Mukesh的answer指出我正确的方向。但是,发布的代码无法正常工作。

这为我工作:

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));  
+0

这就是我的问题所在。谢谢大卫。 – Navarr

+0

现货! 谢谢! –

+0

在Magento 1.7安装上应用补丁SUPEE 8788 v2后,这帮助我。这个修复程序的关键在于这个片段'array('form_key'=> Mage :: getSingleton('core/session') - > getFormKey())'。您必须在该补丁之后使用表单密钥。 –

3

在应用程序/设计/前端/ mypackage中/ mytheme的/模板/结算/ onepage /审查/ info.phtml,我换成&工作GRT。

<?php echo $this->getChildHtml('button') ?> 

<button type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="review.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>