# Lightweight backend modules, Kommunikation mit Admin/ExtJS

**URL:** <https://forum.shopware.com/t/lightweight-backend-modules-kommunikation-mit-admin-extjs/32191>\
**Category:** Programmierung\
**Created:** [13. November 2015 um 13:02 UTC](https://forum.shopware.com/t/lightweight-backend-modules-kommunikation-mit-admin-extjs/32191 "2015-11-13T13:02:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![radox1](https://avatars.discourse-cdn.com/v4/letter/r/e19b73/32.png) [@radox1](https://forum.shopware.com/u/radox1)\
**Post date:** [13. November 2015 um 13:02 UTC](https://forum.shopware.com/t/lightweight-backend-modules-kommunikation-mit-admin-extjs/32191/1 "2015-11-13T13:02:27Z")

</div>

Hallo, um aus meinem Modul auf den Adminbereich (ExtJs) zugreifen zu können, habe ich folgenden Ansatz. Ich erweitere die ExtJS-Klasse ‘Shopware.app.Application’, da es möglich ist an diese einen remote procedure call zu schicken - in diesem Fall um eine Funktion mit der ich die markierten Einträge der Bestell-Liste ermitteln kann. Es ist z.B. nicht möglich eine Funktion von ‘Shopware.apps.Order.view.list.MyList’ auszuführen. Dann erhalte ich den Fehler ‘Shopware.apps.Order is undefined’. Des weiteren erweitere ich die postmessage-api.js (in meinem Plugin-Verzeichnis), die dann den per RPC diese Funktion ausführt. Das Ergebnis erhalte ich über das ‘get-post-message’-Event des postMessageAPIs. Gibt es eine bessere oder einfachere Möglichkeit das zu erreichen? index.html (Plugin) [code] {block name=“content/javascript”}   
var subscriptionApiInit = window.events.subscribe(‘initialized-api’, function(obj) {  
postMessageApi.getSelectedOrderIds();  
});

```
        var subscriptionPostMessage = window.events.subscribe('get-post-message', function(obj) {
            // alert(obj.toSource());
            var selOrderIds = obj.result;
        });
    </script> {/block} [/code] [b]postmessage-api.js (Plugin)[/b] [code] getSelectedOrderIds: function() { var request = new RpcRequestObject('Shopware.app.Application', 'getSelectedOrderIds').send(); win.events.publish('get-selected-order-ids', request.getRequestOptions()); return request; } [/code] [b]shopware/themes/Backend/ExtJs/backend/index/header.tpl[/b] [code] Ext.define('Shopware.app.Application', { getSelectedOrderIds: function() { var itemIDs = new Array(); var grid = Ext.ComponentQuery.query('.order-list')[0]; var gridSelModel = grid.getSelectionModel(); if (! gridSelModel.hasSelection()) { return ''; } var records = gridSelModel.getSelection(); for (var i = 0; i \< records.length; i++) { element = records[i]; itemIDs.push(element.get('id')); } return itemIDs.join(','); }, [/code]
```

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [16. November 2015 um 21:27 UTC](https://forum.shopware.com/t/lightweight-backend-modules-kommunikation-mit-admin-extjs/32191/2 "2015-11-16T21:27:43Z")

</div>

Würde mich auch interessieren.

---

<div class="post-metadata">

**Author:** ![radox1](https://avatars.discourse-cdn.com/v4/letter/r/e19b73/32.png) [@radox1](https://forum.shopware.com/u/radox1)\
**Post date:** [25. November 2015 um 13:57 UTC](https://forum.shopware.com/t/lightweight-backend-modules-kommunikation-mit-admin-extjs/32191/3 "2015-11-25T13:57:33Z")

</div>

Mich auch 😉
