# Shopware Plugin (System 5.2) override Template(Frontend-View)

**URL:** https://forum.shopware.com/t/shopware-plugin-system-5-2-override-template-frontend-view/48363
**Category:** Programmierung
**Created:** [19. September 2017 um 14:25 UTC](https://forum.shopware.com/t/shopware-plugin-system-5-2-override-template-frontend-view/48363 "2017-09-19T14:25:40Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![huebertweb](https://avatars.discourse-cdn.com/v4/letter/h/a9adbd/32.png) [@huebertweb](https://forum.shopware.com/u/huebertweb)
#### Post date: [19. September 2017 um 14:25 UTC](https://forum.shopware.com/t/shopware-plugin-system-5-2-override-template-frontend-view/48363/1 "2017-09-19T14:25:40Z")

</div>

Hallo,

ich versuche gerade mit dem neuen Plugin-System(5.2) eine Template zu überschreiben.

&nbsp;

meine PHP im Hauptverzeichnis sieht dabei folgendermaßen aus:

```
class HuebertMenuIcons extends \Shopware\Components\Plugin
{

    public static function getSubscribedEvents()
    {
        return [
            'Enlight_Controller_Action_PostDispatchSecure' => 'addTemplateDir'
        ];
    }

    public function addTemplateDir() {
        $this->container->get('template')->addTemplateDir( __DIR__. '/Views');
    }
}

```

&nbsp;

Zum testen wollte ich jetzt Views/frontend/detail/index.tpl überschreiben:

```
{extends file="parent:frontend/detail/index.tpl"}

{block name='frontend_widgets_delivery_infos'}
{$smarty.block.parent}

     
        Alert
    

{/block}

```

&nbsp;

Leider funktioniert dies so nicht. Gleiches habe ich aber bereits mit der alten Variante in der Bootstrap.php umgesetzt:

```
public function install(){

        $this->subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Frontend_Detail',
            'onActionPostDispatchFrontendDetail'
        );

        $form = $this->Form();
        $form->setElement('textarea', 'infotext', 
            array(
                'label' => 'Info Text',
                'description' => 'Fügt einen Infotext zu den Preis auf Anfrage Produkten hinzu'
            )
        );

        return true;
    }

    protected function getInfoText() {
      $infotext = $this->Config()->get('infotext');
    }

    public function onActionPostDispatchFrontendDetail(Enlight_Event_EventArgs $args){
        $view = $args->getSubject()->View();
        $view->addTemplateDir($this->Path().'Views/');
        //$view->extendsTemplate('frontend/detail/index.tpl');
          $view->assign('infotext', $this->Config()->get('infotext',string));
    }

```

&nbsp;

Wie bekomme ich dies jetzt mit der neuen Shopware Plugin-entwicklung umgesetzt. Bin hier echt schon am verzeifeln und die Doku von Shopware dafür ist überhaupt nicht Hilfreich.  
Bin für jede Hilfe dankbar.

---

<div class="post-metadata">

### Author: ![huebertweb](https://avatars.discourse-cdn.com/v4/letter/h/a9adbd/32.png) [@huebertweb](https://forum.shopware.com/u/huebertweb)
#### Post date: [28. September 2017 um 11:23 UTC](https://forum.shopware.com/t/shopware-plugin-system-5-2-override-template-frontend-view/48363/2 "2017-09-28T11:23:52Z")

</div>

Habe es mittlerweile hinbekommen 🙂

Problem hier war eifnach nur das im Theme ebenfalls die advanced\_menu.tpl überschreiben wurde. Ich dachte das das Plugin stärker greift was aber nciht der Fall war.

Habe die datei aus dem Theme gelöscht und alles hat funktiopniert.

&nbsp;

---

<div class="post-metadata">

### Author: ![i-gap](https://avatars.discourse-cdn.com/v4/letter/i/ecae2f/32.png) [@i-gap](https://forum.shopware.com/u/i-gap)
#### Post date: [28. September 2017 um 11:50 UTC](https://forum.shopware.com/t/shopware-plugin-system-5-2-override-template-frontend-view/48363/3 "2017-09-28T11:50:58Z")

</div>

du hättest auch in der Theme.php

protected $injectBeforePlugins = true;

ergänzen können.
