第三方助手覆盖不起作用
Third party helper override doesn't work
我正在为 Magento 1.7 编写一个扩展,我需要覆盖来自第三方扩展的助手。
- 我的分机名称是Mkpreis_Ebay
- 第三方扩展名称:Ess_M2ePro
- 我要覆盖的助手:Ess_M2ePro_Helper_Module_Renderer_Description
我的config.xml
<config>
<modules>
<Mkpreis_Ebay>
<version>0.0.1</version>
</Mkpreis_Ebay>
</modules>
<global>
<helpers>
<ebay>
<class>Mkpreis_Ebay_Helper</class>
</ebay>
<M2ePro>
<rewrite>
<module_renderer_description>Mkpreis_Ebay_Helper_Module_Renderer_Description</module_renderer_description>
</rewrite>
</M2ePro>
</helpers>
</global>
</config>
第三方扩展的部分内容config.cml
...
<modules>
<Ess_M2ePro>
<version>6.2.2</version>
</Ess_M2ePro>
</modules>
...
<global>
...
<helpers>
<M2ePro>
<class>Ess_M2ePro_Helper</class>
</M2ePro>
</helpers>
</global>
...
Mkpreis_Ebay.xml
的内容
<?xml version="1.0"?>
<config>
<modules>
<Mkpreis_Ebay>
<active>true</active>
<codePool>local</codePool>
<depends>
<Ess_M2ePro/>
</depends>
</Mkpreis_Ebay>
</modules>
</config>
文件夹结构
Mkpreis
Ebay
etc
config.xml
Helper
Module
Renderer
Description.php
Data.php
我唯一的问题是它没有覆盖 class!我的分机已被识别并处于活动状态。如果我将 smt 放入我的 Data.php 中,代码将被执行并运行 - class 不会被覆盖。
您写的内容看起来是正确的...是否有其他东西重写了它?添加一个 _construct() 方法到 Ess_M2ePro_Helper_Module_Renderer_Description with die(get_class($this));并查看 class 名称是什么。如果它是别的东西,你还有一些工作要做(如果需要我可以帮助),否则如果它是 Ess_M2ePro_Helper_Module_Renderer_Description 那么我会煞费苦心地检查你所有的文件名,配置等 uppercase/lowercase错误。
我正在为 Magento 1.7 编写一个扩展,我需要覆盖来自第三方扩展的助手。
- 我的分机名称是Mkpreis_Ebay
- 第三方扩展名称:Ess_M2ePro
- 我要覆盖的助手:Ess_M2ePro_Helper_Module_Renderer_Description
我的config.xml
<config>
<modules>
<Mkpreis_Ebay>
<version>0.0.1</version>
</Mkpreis_Ebay>
</modules>
<global>
<helpers>
<ebay>
<class>Mkpreis_Ebay_Helper</class>
</ebay>
<M2ePro>
<rewrite>
<module_renderer_description>Mkpreis_Ebay_Helper_Module_Renderer_Description</module_renderer_description>
</rewrite>
</M2ePro>
</helpers>
</global>
</config>
第三方扩展的部分内容config.cml
...
<modules>
<Ess_M2ePro>
<version>6.2.2</version>
</Ess_M2ePro>
</modules>
...
<global>
...
<helpers>
<M2ePro>
<class>Ess_M2ePro_Helper</class>
</M2ePro>
</helpers>
</global>
...
Mkpreis_Ebay.xml
的内容<?xml version="1.0"?>
<config>
<modules>
<Mkpreis_Ebay>
<active>true</active>
<codePool>local</codePool>
<depends>
<Ess_M2ePro/>
</depends>
</Mkpreis_Ebay>
</modules>
</config>
文件夹结构
Mkpreis
Ebay
etc
config.xml
Helper
Module
Renderer
Description.php
Data.php
我唯一的问题是它没有覆盖 class!我的分机已被识别并处于活动状态。如果我将 smt 放入我的 Data.php 中,代码将被执行并运行 - class 不会被覆盖。
您写的内容看起来是正确的...是否有其他东西重写了它?添加一个 _construct() 方法到 Ess_M2ePro_Helper_Module_Renderer_Description with die(get_class($this));并查看 class 名称是什么。如果它是别的东西,你还有一些工作要做(如果需要我可以帮助),否则如果它是 Ess_M2ePro_Helper_Module_Renderer_Description 那么我会煞费苦心地检查你所有的文件名,配置等 uppercase/lowercase错误。