Ich versuche wie folgt einen Service zu überschreiben:
<service id=„PLUGINNAME\Service\AvailableCombinationLoaderDecorator“ decorates=„Shopware\Core\Content\Product\SalesChannel\Detail\AvailableCombinationLoader“>
<argument type=„service“ id=„PLUGINNAME\Service\AvailableCombinationLoaderDecorator.inner“ />
<argument type=„service“ id=„Doctrine\DBAL\Connection“/>
</service>
Erhalte dann aber folgende Fehlermeldung:
Argument 2 passed to Shopware\Core\Content\Product\SalesChannel\Detail\ProductConfiguratorLoader::__construct() must be an instance of Shopware\Core\Content\Product\SalesChannel\Detail\AvailableCombinationLoader, instance of PLUGINNAME\Service\AvailableCombinationLoaderDecorator given
Habe dann noch folgendes probiert aber leider ohne weitere Auswirkung:
<service id=„Shopware\Core\Content\Product\SalesChannel\Detail\ProductConfiguratorLoader“>
<argument type=„service“ id=„product_configurator_setting.repository“/>
<argument type=„service“ id=„PLUGINNAME\Service\AvailableCombinationLoaderDecorator“/>
</service>
Ich glaube, Sie haben die Argumente einfach in die falsche Reihenfolge gebracht. Wenn Sie keine anderen Klassen in AvailableCombinationLoaderDecorator injiziert haben, dann sollte dies funktionieren:
Danke für dein Feedback. Die Reihenfolge passt so da ich diese ja auch so in meinem Service erwarte. In deinem Tutorial ist der Parentservice das letzte Argument deshalb passt die Platzierung am Ende des Services in der XML.