Stochern Magento 2 Kerncode , es sieht aus wie das alte Klasse Rewrite - System mit einem neuen Abhängigkeit Einspritzanlage gerissen worden und ersetzt.
Leider gibt es keine Dokumentation für dieses neue System.
Hat jemand ein Modulkonfigurationsbeispiel, mit dem ein Benutzer in Magento 2 die Klasse Mage_Catalog_Model_Product
mit einer neuen Klasse Packagename_Modulename_Model_Product
unter Verwendung des neuen Abhängigkeitsinjektionssystems "umschreiben" kann?
Antworten:
Die Di-Konfiguration wurde in die Dateien di.xml verschoben und das Format geändert. Jetzt sehen die Einstellungen folgendermaßen aus (di.xml):
quelle
Ich arbeitete von innen nach außen und konnte eine Umschreibung mit den folgenden Funktionen durchführen
Die Implementierung der Abhängigkeitsinjektion enthält jedoch viel mehr Systemcode, sodass nicht klar ist, ob die oben genannten Funktionen in der endgültig veröffentlichten Version von Magento 2 funktionieren.
quelle
Sie haben Recht, Klassenumschreibungen wurden vollständig eliminiert und durch DI ersetzt. Die folgenden Hinweise stammen aus dem Abschnitt über Änderungen am Application Framework :
Magento 1.x - Knoten: / global // {Unterpfad, der dem Fabriknamen + Literal "umschreiben" entspricht}
Magento 2.x - Knoten: / global / di / alias
Ich habe nicht versucht, dies in einem Modul zu verwenden, das in Magento 2.0 ausgeführt wird, aber es scheint, dass Sie im Grunde genommen einen Alias für den Klassennamen definieren, anstatt die komplizierte Hierarchie von XML für das Umschreiben pro Modul zu verwenden.
quelle