Twig Block eines anderen Plugins erweitern - mal funktioniert es - mal nicht

Hallo, 

ich würde gerne wie in Shopware 5 einen Block eines anderen Plugins installieren.

Ich habe also im gleichen Verzeichnispfad die Datei angelegt, Beispiel:

PluginB/src/Resources/views/OrdnerWiePluginA/DateiWiePluginA.html.twig

{% sw_extends '@PluginA/OrdnerWiePluginA/DateiWiePluginA.html.twig' %}

{% block blockAusPluginA %}

neuer Inhalt

{% endblock %}

 

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.

https://docs.shopware.com/en/shopware-platform-dev-en/getting-started/recent-updates#2019-11-20-changed-loading-order-of-plugins

 

2019-11-20: Changed loading order of plugins

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.

Da wird wohl noch dran gedreht und geschraubt  Halo