【发布时间】:2015-10-23 17:06:12
【问题描述】:
我将 magento 从版本 1.9.1.1 升级到 1.9.2.1。结帐过程总是失败并重定向回您的购物车页面。这是我在 Apache 的错误日志中发现的错误:
PHP Fatal error: Undefined class constant 'CHECK_USE_CHECKOUT' in
/var/www/app/code/local/Lotusbreath/OneStepCheckout/Model/Type/Onepage.php
on line 108, referer: http://www.websitename.com/onestepcheckout/
我认为结账扩展有问题,所以我将它替换为原始的Magento结账模板,出现同样的错误:
PHP Fatal error: Undefined class constant 'CHECK_USE_CHECKOUT' in
/var/www/app/code/core/Mage/Checkout/Model/Type/Onepage.php on line 653,
referer: http://www.website.com/checkout/onepage/
我检查了两个 PHP 文件中的 CHECK_USE_CHECKOUT,确实,它没有在那里定义。问题是,这在此之前可以正常工作。我不确定这个更新是否破坏了某些东西,或者它是我最近应用的补丁修复。我尝试恢复补丁,但也没有用。
这是 PHP 文件 Onepage.php 中的 sn-p,其中包含 CHECK_USE 内容:
$data['checks'] = Mage_Payment_Model_Method_Abstract::CHECK_USE_CHECKOUT
| Mage_Payment_Model_Method_Abstract::CHECK_USE_FOR_COUNTRY
| Mage_Payment_Model_Method_Abstract::CHECK_USE_FOR_CURRENCY
| Mage_Payment_Model_Method_Abstract::CHECK_ORDER_TOTAL_MIN_MAX
| Mage_Payment_Model_Method_Abstract::CHECK_ZERO_TOTAL;
这是付款失败并重定向回购物车页面的原因吗?如果是这样,我将如何解决这个问题?
【问题讨论】:
-
你确定这个补丁适合你的版本吗?因为显然这个类没有那个常量docs.magentocommerce.com/Mage_Payment/…
-
嗨,是的,我下载了与我拥有的 magento 版本相对应的补丁。后来,我下载并安装了已经包含最新补丁的magento 1.9.2.1。
-
CHECK_USE_CHECKOUT常量是Mage_Payment_Model_Method_Abstract的一部分。当它试图检查它时抛出错误。确保 Mage/Payment/Model/Method/Abstract.php 已就位并与您下载和提取的版本匹配。 -
嗨,道格拉斯,感谢您的回复。是的,文件已到位。这已经解决了。我将在答案中发布我如何解决它。感谢您光临!
标签: php magento magento-1.9