Saya perlu mengganti kelas \Magento\Catalog\Model\Product\Link
menggunakan preferensi, yang berfungsi dengan baik, tetapi kelas yang disebutkan di atas memiliki kelas proxy yang dihasilkan secara otomatis \Magento\Catalog\Model\Product\Link\Proxy
, yang tidak termasuk metode baru yang ditambahkan dalam penggantian. Apakah ada cara kita dapat menyuntikkan metode tersebut di kelas proxy?
EDIT
Saya telah mencoba menggali ini dan menemukan bahwa kami dapat menyuntikkan proxy menggunakan di.xml. Tetapi ketika saya mencoba melakukan itu, saya mendapat pengecualian bahwa kelas Package\Module\Model\Class\Proxy
tidak ada. Itu berarti proxy baru yang saya coba hasilkan tidak dihasilkan secara otomatis.
magento2
code-generation
product-linking
proxy
Taral Patoliya
sumber
sumber
di.xml
preferensi untuk\Magento\Catalog\Model\Product\Link\Proxy
kePackage\Module\Model\Class\Proxy
?Jawaban:
Setelah membaca komentar yang Anda nyatakan:
Seluruh masalah yang Anda coba selesaikan, dapat dilakukan dengan cara yang lebih elegan dan tidak terlalu menyakitkan.
Jika Anda baru saja menambahkan metode baru ke implementasi yang sudah ada itu berarti Anda tidak mengubah perilaku kelas asli
Ini memberi Anda manfaat samping seperti:
sumber
Saya berhasil membuat
Proxy.php
file yang benar yang menyertakan fungsi baru saya dengan menambahkan berikut ini ke modul sayadi.xml
Terima kasih @minlare atas bantuannya
sumber