Template-Block überschreiben funktioniert nicht

Hallo,

ich bin vereinzelt nicht in der Lage, Template-Blöcke zu überschreiben.

Beispiel:
Ich lege eine Datei an unter custom/plugins/MeinPlugin/src/Resources/views/page/product-detail/index.html.twig

  • Wenn ich „Hallo Welt“ als Inhalt des Templates eingebe, so wird „Hallo Welt“ im Frontend angezeigt - die Datei hat also den richtigen Pfad und wird korrekt eingelesen. :white_check_mark:

  • Wenn ich die Parent-Index file erweitere, und den dort enhaltenen Base-Head-Block überschreibe, so wird dieser korrekt ersetzt ✅:
     

    {% sw_extends ‚@Storefront/page/product-detail/index.html.twig‘ %}

    {% block base_head %}replaced head{% endblock %}

  • Im originalen Base-Head-Block wird das Template aus meta.html.twig über sw_include eingelesen. Dort gibt es einen Block layout_head_meta_tags_opengraph. Diesen würde ich gerne überschreiben. Das funktioniert allerdings nicht :x:- es wird weiterhin der originale Block-Inhalt angezeigt.

    {% sw_extends ‚@Storefront/page/product-detail/index.html.twig‘ %}

    {% block layout_head_meta_tags_opengraph %}replaced open graph{% endblock %}

 

Wie erreiche ich, dass ich über sw_include eingelesene Template-Blöcke ebenfalls überschreiben kann?

 

VG
Christian

 

Edit:
Wenn ich direkt die layout/meta.html.twig überschreibe, funktioniert es. Allerdings weiß ich an dieser Stelle dann nicht mehr, dass ich im Kontext einer Produktdetailseite bin. Ich müsste das relativ umständlich über eine If-Bedingung auf die page-Variable herausfinden. Scheinbar ermöglicht Twig nicht, über include eingebundene Blöcke zu überschreiben. Hierfür ist die embed-Funktion gedacht. Shopware verwendet aber ausschließlich include. Wie ist hier die korrekte Vorgehensweise?