第三方帮助程序覆盖不起作用

时间:2015-06-17 15:50:57

标签: magento rewrite override magento-1.7 helper

我正在为Magento 1.7编写扩展程序,我需要覆盖第三方扩展程序中的帮助程序。

  • 我的扩展程序的名称是 Mkpreis_Ebay
  • 第三方扩展程序的名称: Ess_M2ePro
  • 帮手我要覆盖: Ess_M2ePro_Helper_Module_Renderer_Description

我的config.xml

SELECT 
    a.Type,
        CASE
        WHEN (SELECT Count(*)
        FROM Table
        WHERE a.fruit=fruit
        AND a.name=name
        AND a.condition=condition) > 1 THEN 'Duplicate'
    WHEN a.Name ='' THEN 'Blank'
    ELSE a.Name
    END as Name,
FROM Table a;

第三方扩展程序config.cml的部分内容

<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>

Mkpreis_Ebay.xml的内容

...
<modules>
    <Ess_M2ePro>
        <version>6.2.2</version>
    </Ess_M2ePro>
</modules>
...
<global>
...
    <helpers>
        <M2ePro>
            <class>Ess_M2ePro_Helper</class>
        </M2ePro>
    </helpers>
</global>
...

文件夹结构

<?xml version="1.0"?>
<config>
    <modules>
        <Mkpreis_Ebay>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Ess_M2ePro/>
            </depends>
        </Mkpreis_Ebay>
    </modules>
</config>

我唯一的问题是它不会覆盖班级!我的扩展程序已被识别且已激活如果我把smt放在我的Data.php中,那么代码就会被执行并且正在运行 - 该类不会被覆盖。

1 个答案:

答案 0 :(得分:2)

你所写的内容看起来是正确的......或许是其他重写的东西?使用die(get_class($ this))将_construct()方法添加到Ess_M2ePro_Helper_Module_Renderer_Description中;并查看类名是什么。如果它是其他东西,你还有更多的工作要做(如果需要,我可以提供帮助),否则如果它是Ess_M2ePro_Helper_Module_Renderer_Description,那么我会仔细检查你的所有文件名,配置等是否存在大写/小写错误。