Ne peut pas réécrire Mage_Sales_Model_Quote_Address_Total_Subtotal
-
16-10-2019 - |
Question
Pour un de mon module, je suis en train de réécrire la classe Mage_Sales_Model_Quote_Address_Total_Subtotal. Je l'habitude de réécrire les modèles, aucun problème avec cela. Je comprends que les classes abstraites ne peuvent pas être réécrites. Mais celui-ci, je suis coincé ...
Mon but est de réécrire la fonction protégée _initItem ($ adresse, $ article), j'ai échoué, et tryed de réécrire toutes les fonctions (avec parent :: remplacement par classe de grand-parent). Pas plus de chance pour moi.
Voici ma 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>
Et ma classe:
# 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");
}
}
peut me aider quelqu'un avec ça? Semble être le même problème que d'une classe abstraite jusqu'à présent.
La solution
<sales_quote>
<rewrite>
<address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</address_total_subtotal>
</rewrite>
</sales_quote>
doit être
<sales>
<rewrite>
<quote_address_total_subtotal>Mynamespace_Mymodule_Model_Sales_Quote_Address_Total_Subtotal</quote_address_total_subtotal>
</rewrite>
</sales>
Autres conseils
Voici quelques notes données sur l'image, essayez de comprendre comment créer des noms de modèle et récrire dans config.xml: