- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Magento,版本 CE 1.4.2、1.5.0.1、1.5.1.0
我必须按照所有食谱,config.xml
、system.xml
、etc/module/Mycompany_My paymentmodule.xml 调整 Magento 的支付模块
,一切都工作正常。
但是最近我仔细检查了一下,发现了一个错误:在我的 config.xml
中,我输入了:
<config>
<modules>
<Mage_Mycompany>
<version>0.1.0</version>
</Mage_Mycompany>
</modules>
...
这是因为最初,该模块应该放置在社区文件夹中。
按照指南,我重写了类、xml 等以反射(reflect)本地代码池。这也很顺利(除了我调试过的错误)。
但是,在 config.xml
中,我已重命名模块标签,如下所示:
<config>
<modules>
<Mycompany_Mypaymentmodule>
<version>0.1.0</version>
</Mycompany_Mypaymentmodule>
</modules>
奇怪的是,当我转到后端的“付款方式”时,Magento 现在不断要求我提供旧的 Helper-class-file,导致:
Fatal error: Class 'Mage_Mycompany_Helper_Data' not found in path\to\app\Mage.php on line 520
换句话说,Magento 不断要求我的旧的、预先重命名的模块的辅助类,这当然是无处可寻的。
我已经在所有文件中进行了广泛的搜索,但没有找到字符串 Mage_Mycompany
,所以我猜测 Magento 正在尝试从数据库表中加载此帮助程序类。当然,我已经多次清除缓存并重建所有索引,并删除所有缓存文件。我还检查了几乎所有数据库表,但无济于事。
其次,当我在 app/code/community/Mage/Mycompany/Helper/Data.php
中手动创建帮助程序类时,一切都很顺利,这对我来说听起来很奇怪,因为该类本身不应该被调用(因为它从未在任何 config.xml 中提及)。
我一定错过了一些东西,也许类名是动态生成的,但我真的不知道如何避免它或修复它......所以任何帮助都是值得赞赏的!
最佳答案
第一步当然是清除缓存。
如果清除缓存不起作用。
第 2 步:数据帮助器类用于翻译模块的字符串。即每个数据助手都有一个方法
$helper->__('Translate this symbol');
这将根据该模块的帮助程序文件翻译一个字符串。
在整个系统中,有几个 XML 文件,您可能希望在其中翻译某些节点。语法看起来像这样。
<dhl translate="label" module="usa">
<label>The Label</label>
</dhl>
在这里,您告诉 magento 翻译 dhl 中包含的“label”节点,并使用 usa 模块来执行此操作。也就是说,使用像这样实例化的帮助器
$Mage::getModel('usa/data');
//same thing as above, helpers default to data
Mage::getModel('usa');
翻译标签
$helper->__('The Label');
我的猜测是您的 XML 文件之一仍然具有用于翻译的旧模块配置
<sometag module="mycompany" translate="someothertag" />
这使得magento寻找不再存在的助手,然后繁荣,这是你的错误。
关于Magento 模块已重命名,但 Magento 一直要求旧的帮助程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6457286/
我是一名优秀的程序员,十分优秀!