一页结帐功能在1.8中被破坏了吗?


12

我们的结帐方式似乎已损坏,并且更多人似乎对magento 1.8有问题。在第4步中按下​​继续按钮后,它根本不执行任何操作。我们运行PHP 5.4.19,并在Chrome v28,firefox v22,safari v5.1中进行了尝试。

日志中没有错误,并且默认主题中相同。

Answers:


15

在此处找到解决方案:http : //www.magentocommerce.com/boards/viewthread/441003/#t460203

转到/ app / design / frontend / base / default / template / checkout / onepage /文件付款。phtml将其打开,第36行

<fieldset>
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

将ID添加到字段集

<fieldset id="checkout-payment-method-load">
    <?php echo $this->getChildHtml('methods') ?>
</fieldset>

多亏了hungtk2707!


2
如果您尚未进行任何代码修改,并且第三方模块不胜枚举,则大多数升级问题都来自为先前版本开发的模板和布局。通常情况下是在失败的区域中遍历模板,并检查模板内容与新安装的基本模板之间的代码差异。在布局中,通常会寻找移动的块,需要添加的新块或类似的块。如您的帖子所示,他们在javascript中需要参考的字段集中添加了一个ID,以进行下一步。
Fiasco Labs

2
我刚刚安装了干净的magento 1.8.1版本,这似乎是代码中的错误。它应包含在基本phtml文件中。
Masu 2014年

1
您挽救了我的生命+ 1
Ram Sharma 2014年

5

我也遇到了结帐问题,并且找到了解决方案:

在/template/checkout/onepage/review/info.phtml中(末尾)

更换

review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));

通过

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
您的代码示例似乎不完整。请编辑以包含正确的Markdown格式。
benmarks 2013年

这解决了我的问题,当您点击确认时,我会退回302,并且表格不会提交。
woot586 2014年

2

如果您将Magento升级到1.9.1,并且自定义结帐模板,并且更改了xml。

外观如下:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

问题是checkout / onepage / payment / methods.phtml,此数据应通过ajax请求加载。将其替换为checkout / onepage / payment / info.phtml,如下所示:

<block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
     <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/info.phtml">
          <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
     </block>
</block>

1

如果您的模板在info.phtml的底部没有review =,则只需添加

</script>
<script type="text/javascript">
//<![CDATA[
    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'));
//]]>
</script>

到此文件的底部,例如./app/design/frontend/blank/default/template/checkout/onepage/review/info.phtml


1

我在rwd(iphone)storeview中遇到了同样的问题,并解决了第一个问题

但后来我仍然遇到问题(继续按钮不起作用)解决方案是从/ app / design / frontend / default / iphone / template / checkout / onepage / review收集info.phtml

我取自旧的工作版本。

奇怪的事实是,一切在桌面视图中都可以正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.