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?

Gibt es eine Lösung zu dem „Problem“?
Ich habe das selbe in der aktuellen Version auch!
Bitte um Info ob lösbar!

{% block layout_head_meta_tags %} geht z.B. zu überschreiben.
{% block layout_head_meta_tags_viewport %} auch …
{% block layout_head_meta_tags_opengraph %} der aber nicht!