Jetzt musste ich leider feststellen, dass die Datei PluginB/src/Resources/views/OrdnerWiePluginA/DateiWiePluginA.html.twig nicht aufgerufen wird, wenn PluginA vor PluginB in der Storefront gerendert wird (das kann man in der Symfony Profiler im Bereich “Twig” nachvollziehen).
Um das zu untersuchen habe ich zig-mal die Plugins in unterschiedlicher Reihenfolge PluginA und PluginB deinstalliert, komplett vom Server gelöscht und erneut installiert.
Dabei konnte ich keine Regel ausmachen. Egal ob ich PluginA zuerst und danach PluginB installiere oder umgekehrt. Mal funktioniert es - mal nicht.
// Edit: getestet unter 6.0.0-EA2 und einer aktuelleren Version aus dem Git
Bei mir ist es fast genau so nur in Twig zeigt es mir an, dass die Datei aus meinem Plugin-B eingebunden ist nur die Blöcke werden nicht überschrieben.
Das liegt and der Vererbungshirarchie. Die ist willkürlich. Wenn du deinen Shop neu aufsetzt kann es ganz anders aussehen und wenn du Ihn nochmal aufsetzt noch anders. Versuch mal ein Theme zu bauen das von Plugins erweitert wird… da kommen noch mehr Überraschungen insbesondere wenn du die Produktbox überschreiben willst. Zack nix mehr da von den Plugins. Hat mich echt Nerven und Zeit gekostet das herauszufinden.
The order of the loaded plugins has changed. Before, the plugins has been sorted by the ID column. Because of the UUIDs stored here, the order was random and changed on every (re)installation of Shopware.
From now on, the plugins are loaded in the order of their installation date. So the first installed plugin is the first, which is initialised on kernel boot.
This is temporary solution, as this will not fully resolve dependencies problems between plugins. There are already tickets open, which have the goal to improve the whole plugin loading process.