Hi zusammen, ich schreibe gerade ein kleines Frontend Plugin. Der User soll in einer Liste angeben können, wo das Plugin überall angezeigt werden soll. Ich habe da an eine Liste gedacht in der dann steht: index, listing, checkout usw… private function subscribeEvents() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend', 'onPostDispatchFrontend' ); }
Damit bekomme ich das Plugin auf sämtlichen Seiten angezeigt, was ich nicht möchte. Wie kann ich mit einer config in der Form die Controller einschränken? Gibts da was? Vielen Dank und viele Grüße, Chris
du kannst ja nachher in der Funktion den ActionName oder ControllerName prüfen. $request->getControllerName() == ‘index’ $request->getActionName()== ‘cart’ …
Stimmt, alles in einen String rein und dann abprüfen, ob einer der Strings vorkommt… Recht eleganter wirds wohl nicht gehen. Ich danke Dir!
$pattern = array\_map('trim', explode(',', $config-\>allowedController)); if(!in\_array($controllerName, $pattern)) { return; }
So funktionierts