# Block wird nicht ersetzt.. ?

**URL:** https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126
**Category:** Themes & Design
**Created:** [21. Dezember 2017 um 15:29 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126 "2017-12-21T15:29:09Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)
#### Post date: [21. Dezember 2017 um 15:29 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/1 "2017-12-21T15:29:09Z")

</div>

Hallo,

habe eben versucht eine „kleine“ Änderung vorzunehmen, aber irgendwie funktioniert das (mal wieder) nicht ganz so wie gedacht…  
Shopware installiert zwar das geschriebene Plugin, da hört es aber auch schon auf…

Bootstrap unter „engine/shopware/plugins/local/backend/MeinBackendTitler“:  
&nbsp;

```
subscribeEvent(
	                'Enlight_Controller_Action_PreDispatch_Backend_Index', 'preparePlugin'
                        );

	    return true;
	}

	public function preparePlugin($args) {

	$subject = $args->get('subject');
        $view = $subject->View();
        $view->addTemplateDir($this->Path() . '/Views/');

	}
}

```

Unter Views liegt „backend/index/header.tpl“ mit testweise vereinfachter Darstellung…

```
{extends file='parent:backend/header/parent.tpl'}

{block name="backend/base/header/title"}
	Goddamnit!
{/block}

```

Jemand ne Idee woran es hakt?..

&nbsp;

---

<div class="post-metadata">

### Author: ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)
#### Post date: [21. Dezember 2017 um 15:41 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/2 "2017-12-21T15:41:17Z")

</div>

Das Backend besteht nicht aus TPL-Dateien, sondern aus ExtJS - da kannst du das nicht so wie im Frontend machen. Hier ist bspw. ein Beispiel wie du das im Backend machst: [Custom Risk Rules](https://developers.shopware.com/developers-guide/risk-rules/#extend-risk-management-backend-module)

---

<div class="post-metadata">

### Author: ![simkli](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simkli/32/13124_2.png) [@simkli](https://forum.shopware.com/u/simkli)
#### Post date: [21. Dezember 2017 um 21:29 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/3 "2017-12-21T21:29:18Z")

</div>

[@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski “Moritz Naczenski”)‍: Das ist nicht ganz korrekt. Die Index-Datei (dort wo die eigentliche Basis-HTML Struktur gespeichert ist)&nbsp;ist weiterhin eine .tpl Datei. Da funktioniert das 1:1 wie im Frontend.&nbsp;

@PStadtfeld‍: Kannst du testweise mal das Event&nbsp;Enlight\_Controller\_Action\_PreDispatch\_Backend oder&nbsp;Enlight\_Controller\_Action\_PreDispatch\_Backend\_Base verwenden? Klappt es damit? Cache nicht vergessen 😉

Viele Grüße

---

<div class="post-metadata">

### Author: ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)
#### Post date: [22. Dezember 2017 um 05:30 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/4 "2017-12-22T05:30:18Z")

</div>

> [@simkli schrieb:](https://forum.shopware.com/profile/16741/simkli "simkli")
> 
> [@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski „Moritz Naczenski“)‍: Das ist nicht ganz korrekt. Die Index-Datei (dort wo die eigentliche Basis-HTML Struktur gespeichert ist)&nbsp;ist weiterhin eine .tpl Datei. Da funktioniert das 1:1 wie im Frontend.&nbsp;

Da hast du natürlich recht.

Aber der extends in der Templatedatei macht keinen Sinn - es gibt wohl eine parent.tpl in /backend/index/ aber nicht in backend/header/.  
&nbsp;

---

<div class="post-metadata">

### Author: ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)
#### Post date: [22. Dezember 2017 um 07:30 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/5 "2017-12-22T07:30:04Z")

</div>

> [@simkli schrieb:](https://forum.shopware.com/profile/16741/simkli "simkli")
> 
> [@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski „Moritz Naczenski“)‍: Das ist nicht ganz korrekt. Die Index-Datei (dort wo die eigentliche Basis-HTML Struktur gespeichert ist)&nbsp;ist weiterhin eine .tpl Datei. Da funktioniert das 1:1 wie im Frontend.&nbsp;
> 
> @PStadtfeld‍: Kannst du testweise mal das Event&nbsp;Enlight\_Controller\_Action\_PreDispatch\_Backend oder&nbsp;Enlight\_Controller\_Action\_PreDispatch\_Backend\_Base verwenden? Klappt es damit? Cache nicht vergessen ![;)](https://dub1.discourse-cdn.com/flex013/resources/emoji/wink.png ";)")
> 
> Viele Grüße

&nbsp;

Okay, dass hatte ich mir eigentlich auch gedacht, als ich gesehen hatte, dass es sich um tpl-Dateien handelt…

Ich habe es nun einmal probiert mit beiden Events, es gab aber auch hier keine sichtlichen Änderungen/Erfolge.  
Den extend-Pfad hatte ich testweise einmal umgestellt auf „{extends file=„parent:backend/index/header.tpl“}“ und „{extends file=„parent:backend/index/parent.tpl“}“, das hat aber auch nicht funktioniert…

In der Datei parent.tpl unter backend/index gibt es noch folgenden Block „{s name=‚IndexTitle‘}{/s}“, aber wo man auch den Textbaustein abspeichert, gezogen wird der scheinbar nie…

---

<div class="post-metadata">

### Author: ![PStadtfeld](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@PStadtfeld](https://forum.shopware.com/u/PStadtfeld)
#### Post date: [22. Dezember 2017 um 10:49 UTC](https://forum.shopware.com/t/block-wird-nicht-ersetzt/50126/6 "2017-12-22T10:49:52Z")

</div>

So, ich habe jetzt nach insgesamt ca. 7 Stunden das Plugin aus „engine/Shopware/Plugins/Local/Backend“ wieder rausgeschmissen und unter „custom/Plugins“ gepackt…  
Es funktioniert zwar noch immer kein Stück, aber es lässt sich nun zumindest installieren, ohne die komplette Seite zu killen mit den tollen Shopware-Compiler-Fehlern…

custom/Plugins/MyPluginName/MyPluginName.php:

```
 'preparePlugin',
        ];
    }

    public function preparePlugin(\Enlight_Event_EventArgs $arguments) {
        $controller = $arguments->getSubject();
        $view = $controller->View();

        // $this funktioniert hier wieder nicht!
        $pluginPath = Shopware()->Container()->getParameter('my_plugin_name.plugin_dir');

        $view->addTemplateDir($pluginPath . 'Views/');
        //$view->extendsTemplate('backend/index/digero_backend_titler/header.tpl');
    }
}

```

Und dann noch "custom/Plugins/MyPluginName/Views/backend/index/header.tpl:

```
{extends file="parent:backend/index/header.tpl"}

{block name="backend/base/header/title"}Test{/block}

```

&nbsp;

Abgesehen davon, dass man so etwas in die Grundeinstellungen hätte packen können finde ich es unmöglich, wie bereits so ein simpler Prozess in Shopware zu einer Tagesaufgabe mutiert…

Hat noch irgendjemand eine Idee woran es hängen könnte?

Ansonsten schreib ich den Mist gleich im Bare verzeichnis um und sichere mir die Files bis zum nächsten Update irgendwo hin…

&nbsp;
