Reputation: 486
For one of my module I’m trying to rewrite the class Mage_Sales_Model_Quote_Address_Total_Subtotal. I used to rewrite models, no problem with that. I understand that the abstract classes cannot be rewritten. But this one, I’m stuck ...
My aim is to rewrite protected function _initItem($address, $item), I have failed, and tryed to rewrite every function (with parent:: replacement by grandparent class). No more luck for me.
Here is my config :
<!-- 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>
And my class :
# 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");
}
}
Can anyone help me with that ? Seems to be the same problem as an abstract class so far.
Upvotes: 0
Views: 988
Reputation: 8587
the model's alias you want to override is sales
, not sales_quote
. Try this:
<models>
<sales>
<rewrite>
<quote_address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</quote_address_total_subtotal>
</rewrite>
</sales>
</models>
Upvotes: 1