Ich muss die Klasse \Magento\Catalog\Model\Product\Link
mit den Einstellungen überschreiben , was gut funktioniert, aber in der oben genannten Klasse wird automatisch eine Proxy-Klasse generiert \Magento\Catalog\Model\Product\Link\Proxy
, die die neuen Methoden, die in der Überschreibung hinzugefügt wurden, nicht enthält. Gibt es eine Möglichkeit, diese Methoden in die Proxy-Klasse einzufügen?
BEARBEITEN
Ich habe versucht, mich damit auseinanderzusetzen und festgestellt, dass wir Proxy mit di.xml injizieren können. Aber als ich das versuchte, bekam ich eine Ausnahme, dass die Klasse Package\Module\Model\Class\Proxy
nicht existiert. Das bedeutet, dass der neue Proxy, den ich generieren möchte, nicht automatisch generiert wird.
magento2
code-generation
product-linking
proxy
Taral Patoliya
quelle
quelle
di.xml
eine Präferenz für\Magento\Catalog\Model\Product\Link\Proxy
to festlegenPackage\Module\Model\Class\Proxy
?Antworten:
Nach dem Lesen von Kommentaren, in denen Sie angegeben haben:
Das gesamte Problem, das Sie zu lösen versuchen, kann auf elegantere und weniger schmerzhafte Weise durchgeführt werden.
Wenn Sie der vorhandenen Implementierung gerade neue Methoden hinzugefügt haben, bedeutet dies, dass Sie das Verhalten der ursprünglichen Klasse nicht ändern
Dies gibt Ihnen folgende Nebeneffekte:
quelle
Ich habe es geschafft, die richtige
Proxy.php
Datei zu generieren , die meine neue Funktion enthält, indem ich meinem Modul Folgendes hinzugefügt habedi.xml
Danke @minlare für die Hilfe
quelle