我们已经通过 Composer 从 Shopware 6 商店安装了一个插件。对于我们自己的功能,我们希望使用插件中的服务。
由于 shopware 6 中的插件可以卸载和/或停用,因此我们无法可靠地使用我们自己的插件/捆绑包中 services.xml 中插件中的服务。如果商店插件仍然被卸载/未激活,我们会收到错误“服务“...”依赖于不存在的服务”。
这个例子说明了这种情况:
<services>
<service id="MyPlugin..." public="true">
<!-- Service might be uninstalled/inactive. Conditional?-->
<argument type="service" id="ThirdPartyPlugin"/>
</service>
</services>
Run Code Online (Sandbox Code Playgroud)
在 Shopware 中是否有任何最佳实践来处理这种情况?我们是否可以实现一个条件,即仅当第 3 方插件处于活动状态时才会定义我们的服务?