在管理销售订单创建中调用未定义的方法 Mage_Directory_Helper_Data::getRegionJsonByStore()
-
13-12-2019 - |
题
这很奇怪。我禁用了应用程序/社区和应用程序/本地,并用库存 Magento 文件替换了应用程序/核心,但我不断收到以下错误:
调用未定义的方法
Mage_Directory_Helper_Data::getRegionJsonByStore()
在 /var/www/site-root/app/code/core/Mage/Adminhtml/Block/Customer/Edit/Renderer/Region.php 第 87 行
不知道如何从这里排除故障。
解决方案
Mage_Directory_Helper_Data::getRegionJsonByStore()
是在 Magento 1.8 中引入的,所以听起来您的 Mage_Directory_Helper_Data 类来自旧版本。
最可能的解释是覆盖 app/code/local
. 。您没有解释如何“禁用应用程序/本地”,但它可能不起作用。
其他提示
尝试检查 Configuration -> System -> Tools -> Compilation
, ,应该禁用它。如果没有,请将其禁用。
如果它不能解决您的问题,请尝试替换该文件 app\code\core\Mage\Directory\Helper\Data.php
对于原始副本,当然要备份您的副本以防万一。
如何解决缺少方法的问题:
- 如果启用了编译,则重新编译并刷新缓存。
- 如果启用了 APC,请禁用它。
- 使能够 操作缓存时间戳 如果禁用
- 启用 Xdebug,在 Mage::getModel() 中设置断点并跟踪它解析为哪个文件。如果该文件位于文档根目录之外,请验证 include_path。
- 如果 4.解析为正确的文件,但您仍然收到错误,请重新启动 php 解释器(php-fpm 或 Apache)。
- 如果 5 修复了它,但 2 和 3 没有修复,请验证是否启用了其他操作码缓存并调整它们。
- 如果 5 修复了该问题,但您不知道任何操作码缓存,请联系您的托管服务商以获取信息和诊断。
如果以上方法均不起作用,请验证您是否位于正确的服务器上。
Mage_Directory_Helper_Data::getRegionJsonByStore()
Magento CE 1.7.0.2 之前不存在。这个方法出现在1.8+中。
看起来像是升级的结果。您是否通过管理中的 Magento Connect 升级法师扩展?
如果是,您需要升级所有 Magento Core 模块。但是通过magento connect升级会跳过 lib/*
文件夹。尝试升级 lib/*
手动文件夹。
另一种可能的解决方案是在“管理”->“系统”->“缓存管理”下刷新/禁用缓存。并且不要忘记单击“刷新 Magento 缓存”按钮。