Neuen Twig-Block in überschriebenes Template einfügen

Hallo, ich würde gerne einen eigenen Twig block in ein Template einfügen, das ich überschreiben will (@Storefront/storefront/page/product-detail/buy-widget-form.html.twig’). Ich habe nichts darüber gefunden wie das geht. Habe jetzt in dem gleichen Verzeichnis eine .html.twig Datei, wo ich oben mit {% block my_block %} den Block definiere. Im Template, wo ich diesen jetzt einfügen will habe ich diverse Aufrufe probiert, z.B. {% sw_include ‚@MeinPlugin/storefront/page/product-detail/page_product_detail_my_block.html.twig‘ %}, aber bekomme immer den Fehler „unable to load template“.
Wie kann ich das machen und wie ich kann ich beim Include auch eigene Parameter übergeben?

Du kannst, soweit ich das verstanden hab, bei Ableitungen keinen neuen äußeren Block definieren, nur einen inneren.

Es geht also nicht

{% sw_extends '@Storefront/storefront/page/product-detail/buy-widget-form.html.twig' %}
{%block_my_block %}
    Dein Code
{% endblock %}

sondern nur

{% sw_extends '@Storefront/storefront/page/product-detail/buy-widget-form.html.twig' %}

{% block page_product_detail_buy_form_inner %}
    {%block_my_block %}
        Dein Code
    {% endblock %}
    {{ parent() }}
{% endblock %}

Das parent() musst Du dann, je nach dem ob der Code vorher oder hinterher kommen soll, setzen. Brauchst Du es mittendrin, musst Du Dir einen entsprechenden Block innerhalb suchen, wo es passt.

Willst Du include verwenden, dann müsstest Du meiner Meinung nach die übergeordnete Datei modifizieren (das können dann mehrere sein, andernfalls wird Dein Template nicht geladen). Da kannst Du dann aber tatsächlich einen neuen äußeren Block definieren.

{%block_my_block %}
    Dein Code
{% endblock %}
{% sw_include '@Storefront/storefront/page/product-detail/buy-widget-form.html.twig' %}

Eigene Parameter übergibt man so (with):

{% sw_include '@Storefront/storefront/component/product/card/wishlist.html.twig' with {
    appearance: 'circle',
    productId: id
} %}

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.