Hey, ich würde gerne zwei Plugins kombinieren, geht das? Ich will im Backend ein Menüpunkt einrichten und ebenso mit einem Controller im Frontend arbeiten. Ich habe aber Probleme mit der Syntax. Danke
Niemand eine Idee? @Stefan?
Nun habe ich zwei Plugins, eins für das Backend mit einem Controller und eins im Frontend mit einem Controller Kann ich diese wirklich nicht verbinden bzw. zusammenführen?
Du musst doch nur die Methoden beider Plugins in ein Plugin packen und die Event-Registrierungen aus der Install-Methode auch übernehmen? Man kann problemlos beides in einem machen, siehe Recommendation Plugin!
Danke für die AW. Aber bekomme ich dann nicht ein Konflikt mit Front/Backend? Ich mache z.B. ein Frontend-Modul und will dann einen Backend-Controller: $event = $this->createEvent( ‘Enlight_Controller_Dispatcher_ControllerPath_Frontend_TEST’, ‘onGetControllerPathBackend’ ); $this->subscribeEvent($event); geht das? Ich muss mir noch mal genauer das Recommendation Plugin anschauen.
Nein, der Plugin-Namespace Frontend/Backend/Core dient nur der Übersicht - das hat funktionell keine Auswirkungen! Also kann ein Frontend-Plugin sehr wohl einen Backend-Controller bereitstellen
[quote=„Stefan Hamann“]Nein, der Plugin-Namespace Frontend/Backend/Core dient nur der Übersicht - das hat funktionell keine Auswirkungen! Also kann ein Frontend-Plugin sehr wohl einen Backend-Controller bereitstellen[/quote] Okay, Danke. Habs gecheckt und geht auch. Ich dachte das wird komplett getrennt :thumbup:
Hallo, und wie ist es dan möglich im Plugin zu unterscheiden ob es im Fronted oder im Backend aufgerufen wird. Aktuell habe ich das Problem das ich einige Programmzeilen im Plugin nutze die im Backend beim Ausführen Fehler verursachen speziell wenn man sich auslogt, so das die cookies nicht gelöscht werden und man sich nicht neu mit einem anderen Benutzer am Beackend anmelden kann ohne das man seine Cookies löscht. Besten Dank, Florian
Poste mal deinen Code
Hallo Pixelecho, mir fallen zwei Arten ein im Plugin zu kontrollieren ob eine bestimmte Funktion des Plugins im Frontend oder im Backend ausgeführt wird: 1. Du schränkst das Event auf einen bestimmten Controller ein z.B.: $event = $this->createEvent(‘Enlight_Controller_Action_PostDispatch_Frontend_Detail’, ‘onPostDispatch’); -> Hier wird zum Beispiel auf den Detail Controller eingeschränkt. 2. Du fragst in der Methode den Module Namen ab: $request = $args->getSubject()->Request(); if( $request->getModuleName() == ‘backend’) { return; } Ich hoffe ich konnte dir weiter helfen Gruß Oliver