目前正在尝试在Magento 1.6.0.0的安装上正常运行onepage checkout。
在尝试触发review not defined
OnClick事件时,每个步骤都可以正常运行,直到最终审核订单框,“下订单”按钮显示错误review.save()
。
以下脚本应创建此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没有被执行。< / p>
有没有人有任何想法?
答案 0 :(得分:6)
我们正在迁移到更新的Magento版本(1.8),而“下订单”按钮也不适用于我们。
穆克什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'));
答案 1 :(得分:3)
这是升级吗?如果是这样,请尝试以下操作:http://sree.cc/magento_ecommerce_tips/checkout-not-working-on-magento-version-1-4-x 尝试即使它不是升级。我用这个解决方案多次修复了同样的问题。
我会做一个差异。使用像WinMerge这样的软件。检查结帐设计文件夹和基本Magento文件夹的差异。
应用程序/设计/前端/碱/默认/模板/检出 与 应用程序/设计/前端/默认/ YOUR_THEME /模板/结帐
还要检查XML文件: 应用程序/设计/前端/碱/默认/布局/ checkout.xml 与 应用程序/设计/前端/默认/ YOUR_THEME /布局/ checkout.xml
希望这有帮助。
弗朗索瓦
答案 2 :(得分:3)
在app / design / frontend / mypackage / mytheme / template / checkout / onepage / review / info.phtml中,我更换了&amp;工作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>
答案 3 :(得分:0)
我通过跟随代码得到了相同问题的解决方案,愿这对你有帮助。
将基本文件替换为以下路径 应用程序/设计/前端/默认/ your_theme /模板/结算/ onepage /审查/ info.phtml (或)
替换info.phtml中的第81行
review = new Review('getUrl('checkout / onepage / saveOrder',array('form_key'=&gt; Mage :: getSingleton('core / session') - &gt; getFormKey()))?&gt;' ,'getUrl('checkout / onepage / success')?&gt;',$('checkout-agreements'));