# Template file extenden, die selber auch extendet

**URL:** https://forum.shopware.com/t/template-file-extenden-die-selber-auch-extendet/87818
**Category:** Programmierung
**Created:** [21. Mai 2021 um 11:22 UTC](https://forum.shopware.com/t/template-file-extenden-die-selber-auch-extendet/87818 "2021-05-21T11:22:20Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [21. Mai 2021 um 11:22 UTC](https://forum.shopware.com/t/template-file-extenden-die-selber-auch-extendet/87818/1 "2021-05-21T11:22:20Z")

</div>

Ich erstelle ein eigenes Theme. Hier ändere ich z.B. in der Datei `Storefront/storefront/component/account/login.html.twig` einen Block wie folgt:

```auto
{% sw_extends '@Storefront/storefront/component/account/login.html.twig' %}

{% block component_account_login_header %}
    FOO
{% endblock%}

```

Soweit so gut, der Text in dem Titel-Element ist jetzt wie zu erwarten `FOO`.

Jetzt möchte ich die `storefront/page/product-detail/review/review-login.html.twig` erweitern, welche wiederum o.g. Datei erweitert:

```auto
{% sw_extends '@MyTheme/storefront/component/account/login.html.twig' %}

{% block component_account_login_form_description %}
    BAR
{% endblock%}

```

Im Review-Login-Block wird jetzt zwar als Description `BAR` angezeit, aber als Titel nicht mehr `FOO`. Obwohl ich ja explizit den Namespace des Plugins/Themes angebe: `@MyTheme/...`

Eigentlich sollte das doch kein Problem sein, was mache ich falsch?

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [21. Mai 2021 um 11:49 UTC](https://forum.shopware.com/t/template-file-extenden-die-selber-auch-extendet/87818/2 "2021-05-21T11:49:12Z")

</div>

da wo das Template eingebunden wird, muss ich logischerweise auch meinen Namespace nehmen:  
`{% sw_include '@MyTheme/storefront/page/product-detail/review/review-login.html.twig' %}`  
damit geht es dann natürlich (statt `@Storefront`)

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [21. Mai 2021 um 13:54 UTC](https://forum.shopware.com/t/template-file-extenden-die-selber-auch-extendet/87818/3 "2021-05-21T13:54:42Z")

</div>

Ach, dieses Thema ist echt nervig gerade. Im Prinzip will ich die `comnponent/account/login.html.twig` verändern und auch die `page/product-detail/review/review-login.html.twig` anpassen, die die `login.html.twig` ja nur extended.

1. Frage: mit welchem Namespace muss ich die `review-login.html.twig` includen–`@Storefront` oder `@MyTheme`?

2. Frage: Wie kann ich in der `review-login.html.twig` die `login.html.twig` erweitern? Folgendes funktioniert nicht: `{% sw_extends '@Storefront/storefront/component/account/login.html.twig' %}`, egal mit welchem Namespace.

3. Frage: Wozu gibt es die ganzen Review-Files doppelt? In `storefront/component/review` und in `storefront/page/product-detail/review`. Was ist da die Idee dahinter?

Leider schaffe ich es nur das Elternelement zu Erweitern: `{% sw_extends '@Storefront/storefront/page/product-detail/review/review-login.html.twig' %}`. Das führt aber nicht zum gewünschten Ergebniss, weil ich ja als parent-block den aus `login.html.twig` haben will.
