Hallo zusammen, wie der Titel schon sagt, möchte ich ein Backend-Plugin aus einem anderen Backend-Plugin aufrufen. Das erste Plugin entspricht dem Tutorial-Plugin Backend-Plugins mit Extjs. Über das Icon-Symbol möchte ich ein anderes Plugin in einem neuem JS-Fenster aufrufen, um ein mehr Platz zu haben. Wenn ich das über einen Link im ersten Plugin mache, wird zwar das zweite Plugin ordnungsgemäß aufgerufen, aber leider im gleichen JS-Fenster, sodass die Artikel-Auswahl verschwunden ist. Wenn ich nun einen anderen Artikel aufrufen möchte, muss ich das erste Plugin erst wieder über das Menü aufrufen. Ich hoffe ich hab mich verständlich ausgedrückt und ihr könnt mir helfen. Gruß
Bei dem Fenster Übersicht wird es so geregelt: Vllt kannst du es irgendwie so verwenden.
Danke für den Tipp. mit der loadSkeleton-Funktion bekomme ich immer den Fehler das der Controller nicht geladen werden kann. Allerdings habe ich ein paar Zeilen tiefer in der framework.php (Zeile 409) die Funktion openAction gefunden und mit der kann ich den Controller in einem neuen JS-Fenster öffnen. Leider bekomme ich keine Parameter übergeben, wie es laut Definition eigentlich gehen sollte:
function openAction(controller, action, params) { . . }).post(params);
um diese dann in der indexAction zu verarbeiten und den passenden Artikel zu laden. Ich habe mich an dein Beispiel gehalten und diverse Maskierungen für die ’ und " probiert aber es funktioniert einfach nicht. Hast Du vielleicht noch einen Tipp?
Dass ich die Parameter nich übergeben konnte lag wohl nur an 2 Leerzeichen beim Funktionsaufruf. ''
Ich bekomme die Post-Daten auch im Firebug angezeigt: ordernumber SW10059 target\_action index
Wenn ich mir aber den Request in der indexAction ausgeben lasse sind die Daten nicht da: Enlight\_Controller\_Request\_RequestHttp Object ( [\_paramSources:protected] =\> Array ( [0] =\> \_GET [1] =\> \_POST ) [\_requestUri:protected] =\> /backend/editor [\_baseUrl:protected] =\> [\_basePath:protected] =\> [\_pathInfo:protected] =\> /backend/editor [\_params:protected] =\> Array ( [module] =\> backend [sViewport] =\> editor ) [\_rawBody:protected] =\> [\_aliases:protected] =\> Array ( ) [\_dispatched:protected] =\> 1 [\_module:protected] =\> backend [\_moduleKey:protected] =\> module [\_controller:protected] =\> editor [\_controllerKey:protected] =\> sViewport [\_action:protected] =\> index [\_actionKey:protected] =\> sAction )
Hat dazu jemand ein Idee?
Das ist auch gelöst. Ich muss die Post-Daten in der skeletonAction durchreichen: public function skeletonAction() { $this-\>View()-\>loadTemplate("backend/plugins/Editor/skeleton.tpl"); $request = $this-\>request(); $ordernumber = $request-\>ordernumber; $this-\>View()-\>ordernumber = $ordernumber; }
und { "init": { "title": "{s name='WindowTitle' force}Editor{/s}", "width": 900, "height": 650, "id": "coupon", "minwidth": 800, "minheight": 650, "content": "", "loader": "action", "url": "{url action='index'|escape:'javascript' ordernumber=$ordernumber}", "help": "" } }
Dann kann ich die Daten auch in der indexAction verarbeiten.:thumbup: Danke nochmal an ottscho, dass er mich in dir richtige Richtung geschubst hat.