2015-10-17 58 views
0

我开始使用Magento(1.9)CE。我想写修订两种模式的行为一个小模块:自定义模块中的Magento模型替代

  1. Mage_Sales_Model_Quote
  2. Mage_Sales_Model_Quote_Address

我已经创建了我的课MyCompany_Sales_Model_Quote和MyCompany_Sales_Model_Quote_Address扩展这些类。

我的文件夹结构看起来像

MyCompany 
-> etc 
    -> config.xml 
->Sales 
    -> Model 
    -> Quote.php 
    -> Quote 
     -> Address.php 

我已经验证:

  1. 我的模块 - MyCompany_Sales - 在管理门户网站(管理 - >系统 - >配置 - >高级 - 显示出来>高级版)

  2. 如果我不写自定义模块,只需从Magento内核复制这些文件并复制到本地 - > Mage-> Sales-> Model下,这些更改似乎可行。但我想保留一个模块,只改变我想要的行为。

我必须得出结论,主要问题是系统没有正确地拾取我的新类。下面是我的配置XML来覆盖这些级别:

< ?xml version="1.0"?> 
<config> 
    <modules> 
     <MyCompany_Sales> 
      <version>0.1.0</version> 
     </MyCompany_Sales> 
    </modules> 
    <global> 
     <models> 
      <sales> 
       <rewrite> 
        <quote>MyCompany_Sales_Model_Quote</quote> 
        <quote_address>MyCompany_Sales_Model_Quote_Address</quote_address> 
       </rewrite> 
      </sales> 
     </models> 
    </global> 
</config> 

什么我可能是做错了任何指针将不胜感激。

回答

0

我认为你的目录结构存在问题。您的目录结构应如下所示:

MyCompany (Namespace) 
    -Sales (Modulename) 
     - etc (Directory) 
      -config.xml (Configuration File) 
     - Model(Directory) 
      -Quote.php(File) 
      -Quote(Directory) 
       -Address.php(File)