# Erweiterung einer bestehenden Backend-Komponenten über Plugin

**URL:** <https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670>\
**Category:** Programmierung\
**Created:** [19. Oktober 2016 um 15:20 UTC](https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670 "2016-10-19T15:20:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![fpaks](https://avatars.discourse-cdn.com/v4/letter/f/4af34b/32.png) [@fpaks](https://forum.shopware.com/u/fpaks)\
**Post date:** [19. Oktober 2016 um 15:20 UTC](https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670/1 "2016-10-19T15:20:12Z")

</div>

Hi zusammen,

ich komme beim erweitern der Bestellübersicht Komponente nicht weiter (nicht das Details-Fenster).  
Ich habe mit Hilfe von&nbsp;[Backend extensions](https://developers.shopware.com/developers-guide/backend-extension/) das Plugin entwickelt und die entsprechenden Stellen&nbsp;  
umgeändert um auf die “Order”-Komponenten zu “zeigen”.

Leider tut sich so gar nichts.

Hier meine Dateien

./Bootstrap.php

```
class Shopware_Plugins_Backend_FpDocPrint_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
    public $info = [
        "version" => "1.0",
        "label" => "DocPrint",
        "author" => "Fp",
        "copyright" => "Fp",
        "description" => "",
        "support" => "",
        "link" => ""
    ];

    public function onOrderPostDispatch(Enlight_Event_EventArgs $args)
    {
        $controller = $args->getSubject();
        $view = $controller->View();
        $request = $controller->Request();

        $view->addTemplateDir( __DIR__. '/Views');

        if ($request->getActionName() == 'index') {
            $view->extendsTemplate('backend/extend_order/app.js');
        }

        if ($request->getActionName() == 'load') {
            $view->extendsTemplate('backend/extend_order/view/main/window.js');
        }
    }
    

    public function getInfo()
    {
        return $this->info;   
    }

    public function install()
    {
        $this->subscribeEvent(
            'Enlight_Controller_Action_PostDispatchSecure_Backend_Order',
            'onOrderPostDispatch'
        );

        return true;
    }

    public function uninstall()
    {
        return true;
    }
}

```

./View/backend/extend\_order/app.js

```
//{block name="backend/order/application" append}
// {include file="backend/extend_order/view/main/window.js"}
//{/block}

```

./View/backend/extend\_order/view/main/window.js  
&nbsp;

```
//{block name="backend/extend_order/view/main/window" append}
Ext.define("Shopware.apps.FpDocPrint.view.main.Window", {
    
   override: "Shopware.apps.Order.view.main.Window",

     initComponent:function () {
       var me = this;

       console.log("test")
       me.callParent(arguments);
   }
});
//{/block}

```

Hab ich etwas vergessen, oder etwas falsch?

Danke im Voraus für jede Hilfe

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [20. Oktober 2016 um 11:29 UTC](https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670/2 "2016-10-20T11:29:15Z")

</div>

Das Beispiel mit der „window.js“ sieht aber im Original etwas anders aus. Deine initComponet() steht da nicht in der window.js 🙂

Nachtrag: Was willst du überhaupt erreichen? Wo kein return, da auch keine Reaktion 🙂

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [20. Oktober 2016 um 11:42 UTC](https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670/3 "2016-10-20T11:42:49Z")

</div>

Hi,

ich schätze, dass das Problem ist, dass du die Datei, die die Erweiterung macht, quasi zweimal mitlädst. Einmal hängst du sie an den Block der ursprünglichen app.js und einmal direkt als extendsTemplate()

Hier muss man unterscheiden, was mit der index action geladen wird und was über die load action.

Dateien, die ein override auf bestehende Module machen&nbsp;-\> load action

Dateien, die komplett neue Dinge hinzufügen und nichts überschreiben -\> index action

Bau diese Dopplung, die du hast mal aus. Also so, dass deine window.js nur über die load action hinzugefügt wird

Viele Grüße aus Schöppingen

![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

**Author:** ![fpaks](https://avatars.discourse-cdn.com/v4/letter/f/4af34b/32.png) [@fpaks](https://forum.shopware.com/u/fpaks)\
**Post date:** [21. Oktober 2016 um 12:56 UTC](https://forum.shopware.com/t/erweiterung-einer-bestehenden-backend-komponenten-uber-plugin/40670/4 "2016-10-21T12:56:24Z")

</div>

Erst mal Danke für die Antwort.

Ich hatte diesen Ansatz auch mal probiert musste aber dann feststellen das der fehler in der&nbsp; **./View/backend/extend\_order/view/main/window.js​&nbsp;** war

Die oberste Zeile hätten lauten müssen:  
&nbsp;

```
//{block name="backend/order/view/main/window" append}

```

Vorher habe ich quasi einen nicht existenten Block extended und deswegen hat sich nichts getan.

Ich dachte ich Teile das mal mit falls irgendwann jemand anderes auch auf diese Problematik stoßt.
