这很奇怪。我禁用了应用程序/社区和应用程序/本地,并用库存 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 对于原始副本,当然要备份您的副本以防万一。

如何解决缺少方法的问题:

  1. 如果启用了编译,则重新编译并刷新缓存。
  2. 如果启用了 APC,请禁用它。
  3. 使能够 操作缓存时间戳 如果禁用
  4. 启用 Xdebug,在 Mage::getModel() 中设置断点并跟踪它解析为哪个文件。如果该文件位于文档根目录之外,请验证 include_path。
  5. 如果 4.解析为正确的文件,但您仍然收到错误,请重新启动 php 解释器(php-fpm 或 Apache)。
  6. 如果 5 修复了它,但 2 和 3 没有修复,请验证是否启用了其他操作码缓存并调整它们。
  7. 如果 5 修复了该问题,但您不知道任何操作码缓存,请联系您的托管服务商以获取信息和诊断。

如果以上方法均不起作用,请验证您是否位于正确的服务器上。

Mage_Directory_Helper_Data::getRegionJsonByStore() Magento CE 1.7.0.2 之前不存在。这个方法出现在1.8+中。

看起来像是升级的结果。您是否通过管理中的 Magento Connect 升级法师扩展?

如果是,您需要升级所有 Magento Core 模块。但是通过magento connect升级会跳过 lib/* 文件夹。尝试升级 lib/* 手动文件夹。

另一种可能的解决方案是在“管理”->“系统”->“缓存管理”下刷新/禁用缓存。并且不要忘记单击“刷新 Magento 缓存”按钮。

许可以下: CC-BY-SA归因
scroll top