2011-10-07 99 views
0

我無法覆蓋銷售規則模型。我想覆蓋類Mage_SalesRule_Model_RuleMagento:無法覆蓋銷售規則

這裏是我的代碼: -

<?xml version="1.0"?> 
<config> 
    <modules> 
     <MyNamespace_MyModule> 
      <version>0.1.0</version> 
     </MyNamespace_MyModule> 
    </modules> 
    <global> 
     <models> 
      <salesrule> 
       <rewrite> 
        <rule>MyNamespace_MyModule_Model_Rule</rule> 
       </rewrite> 
      </salesrule> 
     </models> 
    </global> 
</config> 

但是,這是行不通的。

請幫忙嗎?

+0

您可以將XML片段發佈到完整配置文件的上下文中嗎?最好的猜測是它在錯誤的位置。 –

+0

@AlanStorm:我已經更新了XML片段。希望現在很清楚。 –

+0

您似乎錯過了您的外部節點。 –

回答

2

謝謝大家幫助調試我的問題。

現在問題已解決。

我已經在另一個本地模塊XML文件中編寫了覆蓋代碼。不過,我曾評論說,代碼和我的緩存已禁用。但是,我不知道它是如何造成問題的。所以,當我從另一個模塊中刪除評論代碼時,我的問題就解決了,並且我可以覆蓋salesrule模型。

我想爲他人寫一些提示,如果他們面對這樣的問題。這些提示基於這個問題中的評論。

  • 如果您的XML代碼片段位於正確位置,請重新檢查。
  • 檢查模塊是否正在實例化(系統 - >配置 - >高級)。
  • 檢查也可能覆蓋同一型號的其他模塊。特別是那些在「本地」,因爲他們優先。
  • 檢查,當你打電話給你想要的類返回什麼類:

    echo get_class(Mage::getModel('salesrule/rule'));

謝謝大家的意見。