I want to change the method collect()
from
Mage_Sales_Model_Quote_Address_Total_Abstract
By what I've read it seems I can't rewrite it since it's abstract and it is never instantiate.
Looking around, the usual dirty trick is to use Magento autoload and copy the file and the exact path under /local/. E.g.:
core/Mage/Sales/[...]/Abstract.php
to
local/Mage/Sales/[...]/Abstract.php
I also tried xml, but it didn't work (as expected) since you can't override an abstract.
<models>
<sales>
<quote_address_total>
<rewrite>
<abstract>Lebernard_Dropship_Model_Sales_Quote_Address_Total_Abstract</abstract>
</rewrite>
</quote_address_total>
</sales>
</models>
Underlying my question, I feel I misunderstand this part of Magento. What is the difference between
extending (without overriding) and how would you call the model in xml? Using :
parent::collect($address);
Using override in .xml (like above xml, rewrite)
Using the autoload technique.
Thanks