Esiste un'estensione di terze parti che riscrive una specifica classe principale di Magento. Non dovrebbe importare se si tratta di un blocco, un aiuto o un modello, ma in questo caso è un modello. Ora ho riscontrato che questa riscrittura è errata e vorrei disabilitarla senza modificare l'estensione di terze parti. Quindi, scrivo un'estensione personalizzata che dipende dall'estensione di terze parti. Qual è il modo migliore per disabilitare la riscrittura di terze parti? Quello che mi viene in mente è di definire una riscrittura personalizzata, che viene utilizzata al posto della riscrittura di terze parti:
<global>
<models>
<custom_extension>
<class>Custom_Extension_Model</class>
</custom_extension>
<mage_core>
<rewrite>
<sth>Custom_Extension_Model_Sth</sth>
</rewrite>
</mage_core>
</models>
</global>
Sth.php
, la classe si estende direttamente dalla classe Mage e pertanto disabilita la riscrittura di terze parti:
class Custom_Extension_Model_Sth extends Mage_Core_Model_Sth
{
}
Funziona, ma non è troppo bello. Pensando agli osservatori, è possibile disabilitarli solo tramite config.xml impostandoli su disabled
. È possibile qualcosa di simile con le riscritture? Ho provato a usare quanto segue e funziona:
<global>
<models>
<mage_core>
<rewrite>
<sth></sth>
</rewrite>
</mage_core>
</models>
</global>
Ma è sicuro farlo? Funziona in tutte le versioni? Non l'ho mai visto allo stato brado, ecco perché lo sto chiedendo.