Bawię się Magento 2, ale napotykam problem, którego nie mogę zawinąć. Menedżer obiektów próbuje utworzyć instancję klasy Abstract, co powoduje błąd krytyczny. Czy ktoś wie, co może to spowodować lub skierować mnie w dobrym kierunku?
Błąd
Fatal error: Cannot instantiate abstract class Magento\Framework\Model\Resource\AbstractResource in /lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php on line 75
Problem
Mój moduł ma model, który rozszerza \Magento\Quote\Model\Quote
. Konstruktor tego modelu ma następującą linię:
\Magento\Framework\Model\Resource\AbstractResource $resource = null,
.
Kontroler, który tworzy instancję modelu, rozszerza \Magento\Backend\App\Action
i używa $this->_objectManager->create()
do tworzenia instancji modelu.
Rzeczą, której nie mogę owinąć wokół głowy, jest to, że jeśli utworzę instancję modelu Magento, to po prostu działa, ale jeśli utworzę instancję mojego modelu, spróbuje utworzyć instancję tej abstrakcyjnej klasy, zgłaszając błąd powyżej. Co mówi menedżerowi obiektów, aby to zrobił i jak mogę rozwiązać mój problem?
Moją pierwszą myślą było to, że Magento używa tego di.xml
do zastąpienia tego, wykonania tego czy czegoś, to nie było tak.
Dzięki za poświęcenie czasu na przeczytanie tego. Każda pomoc lub wkład w tę kwestię jest mile widziany.
__construct
metodę twojego modelu.