扩展Magento模型不起作用

时间:2014-11-21 00:21:15

标签: php xml magento

我正在尝试扩展社区插件,所有内容对我来说都是正确的,但我必须遗漏一些东西,因为我的方法不会覆盖社区插件方法。

奇怪的是我下载了Modules Conflict Detector并且说它是我的插件正在扩展社区插件。

应用在/ etc /模块/ KNG_M2eProMods.xml

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

应用/代码/本地/ KNG / M2eProMods的/ etc / config.xml中

<?xml version="1.0"?>
<config>
    <modules>
        <KNG_M2eProMods>
            <version>0.1.0</version>
        </KNG_M2eProMods>
    </modules>
    <global>
        <models>
            <M2ePro>
                <rewrite>
                    <magento_payment>KNG_M2eProMods_Model_Magento_Payment</magento_payment>
                    <magento_quote>KNG_M2eProMods_Model_Magento_Quote</magento_quote>
                    <magento_order>KNG_M2eProMods_Model_Magento_Order</magento_order>
                </rewrite>
            </M2ePro>
        </models>
    </global>
</config>

应用/代码/本地/ KNG / M2eProMods /型号/ Magento的/ Order.php

class KNG_M2eProMods_Model_Magento_Order extends Ess_M2ePro_Model_Magento_Order
{
    private function placeOrder()
    {
     ......
    }
}

应用/代码/本地/ KNG / M2eProMods /型号/ Magento的/ Payment.php

class KNG_M2eProMods_Model_Magento_Payment extends Ess_M2ePro_Model_Magento_Payment
{
    protected $_code = 'payment_profile';
}

应用/代码/本地/ KNG / M2eProMods /型号/ Magento的/ Quote.php

class KNG_M2eProMods_Model_Magento_Quote extends Ess_M2ePro_Model_Magento_Quote
{
    private function initializeQuoteItems()
    {
     ......
    }
}

这是我试图扩展的插件的config.xml的片段。 应用/代码/小区/ ESS / M2ePro的/ etc / config.xml中

......
<models>
        <M2ePro>
            <class>Ess_M2ePro_Model</class>
            ......
        </M2ePro>
        ......
</models>
......

以下是我要扩展的文件路径。

app/code/community/Ess/M2ePro/Model/Magento/Order.php
app/code/community/Ess/M2ePro/Model/Magento/Payment.php
app/code/community/Ess/M2ePro/Model/Magento/Quote.php

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的config.xml 设置正确。 Magento在读取xml文件时区分大小写。所以你的config.xml文件应该是这样的,

<?xml version="1.0"?>
<config>
  <modules>
    <KNG_M2eProMods>
      <version>0.1.0</version>
    </KNG_M2eProMods>
  </modules>
  <global>

    <models>
      <m2epromods>
        <class>KNG_M2eProMods_Model</class>
        <resourceModel>m2epromods_mysql4</resourceModel>
      </m2epromods>
            <m2epro>
                <rewrite>
                    <magento_order>KNG_M2eProMods_Model_M2ePro_Magento_Order</magento_order>
                </rewrite>
            </m2epro>
            <m2epro>
                <rewrite>
                    <magento_payment>KNG_M2eProMods_Model_M2ePro_Magento_Payment</magento_payment>
                </rewrite>
            </m2epro>
            <m2epro>
                <rewrite>
                    <magento_quote>KNG_M2eProMods_Model_M2ePro_Magento_Quote</magento_quote>
                </rewrite>
            </m2epro>
    </models>
  </global>
</config> 

如果您有任何疑问,请在此发表评论。