我已经将我的网站升级到Magento 1.8。我没有使用magento下载程序升级magento。我使用了新鲜的magento 1.8,并将我的皮肤移到了这个版本。现在一切都很好,除了一页签出页面。当我完成步骤时,结账进度条正在更新,而且付款既不是贝宝也不是信用卡。下单按钮没有任何作用,网站没有指向付款页面。以下是我没有成功的几个步骤在/app/design/frontend/base/default/template/checkout/onepage/payment.htm中我已经换了这条线
<fieldset>
<?php echo $this->getChildHtml('methods') ?>
</fieldset>
至
<fieldset id="checkout-payment-method-load">
<?php echo $this->getChildHtml('methods') ?>
</fieldset>
这没有奏效。而且在app/design/frontend/default/mobileshope/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'));
两者都不适合我。除此之外,还有其他解决方案吗?有人能帮我解决这个问题吗?
将基文件替换为以下路径app/design/frontend/default/your_theme/template/checkout/onepage/review/info.phtml
(或)
将info.phtml中的行号81替换为以下代码:
review=new review('getUrl('checkout/onepage/saveOrder',array('form_key'=>Mage::getSingleton('core/session')->getFormKey())?>','getUrl('checkout/onepage/success')?>'$("检查协议");
检查文件中的特殊表单键。我在结账时也遇到了同样的问题,并用这种方式解决了这些问题。
自Magento 1.8.0.0以来,核心团队添加了一个表单密钥,该密钥必须存在才能提交一些表单。我想你的表单没有那个表单键。它应该是这样的:
<?php echo $this->getBlockHtml('formkey'); ?>
您需要将签出模块中的模板和布局文件与Magento的基本/默认模板和布局中的文件进行比较。
在布局文件中,您应该搜索一个名为formkey
的块