2013-10-08 57 views
0

對於我的一個模塊,我試圖重寫類Mage_Sales_Model_Quote_Address_Total_Subtotal。 我用來重寫模型,沒有問題。我明白抽象類不能被重寫。我的目標是重寫保護函數_initItem($ address,$ item),我失敗了,並嘗試重寫每一個函數(用parent :: replacement替換祖父母類)。對我來說沒有更多的運氣。Magento,無法重寫Mage_Sales_Model_Quote_Address_Total_Subtotal

這裏是我的配置:

<!-- in app/code/local/Mynamespace/Mymodule/etc/config.xml --> 
<?xml version="1.0"?> 
<config> 
<global> 
    <models> 
     <sales_quote> 
      <rewrite> 
       <address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</address_total_subtotal> 
      </rewrite> 
     </sales_quote> 
    </models> 
</global> 
</config> 

而我的等級:

# in app/code/local/Mynamespace/Mymodule/Model/Sales/Quote/Address/Total/Subtotal.php 
class Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal extends Mage_Sales_Model_Quote_Address_Total_Subtotal 
{ 
protected function _initItem($address, $item) 
{ 
    Mage::log("rewrite"); 
} 
} 

誰能幫助我嗎?似乎到目前爲止與抽象類相同的問題。

回答

1

您要覆蓋的型號別名是sales,而不是sales_quote。試試這個:

<models> 
     <sales> 
      <rewrite> 
       <quote_address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</quote_address_total_subtotal> 
      </rewrite> 
     </sales> 
    </models> 
+0

好吧,那是我的錯!非常感謝,下次我將關注與我想要重寫的類相關的核心config.xml。感謝您的貢獻。 –