Hallo zusammen, ich habe in Shopware 3+ immer eine Varibale in einem Backend-Plugin in Sessions gespeichert. Das geht scheinbar in Shopware 4+ nicht mehr, so wie ich es unter 3+ gemacht habe. Wie bekomme ich denn eine Session Variable gefüllt und wieder ausgelesen. class Shopware\_Plugins\_Backend\_MyPlugin\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { static protected $session; public function install() { $this-\>subscribeEvents(); return true; } /\*\* \* Registers all necessary events and hooks. \*/ private function subscribeEvents() { $event = $this-\>createEvent( 'Enlight\_Controller\_Action\_PostDispatch', 'onPostDispatch' ); $this-\>subscribeEvent($event); } static function onPostDispatch(Enlight\_Event\_EventArgs $args) { $subject = $args-\>getSubject(); $request = $subject-\>Request(); $belboon = $request-\>getParam('belboon'); // Use of $\_SESSION is preferred, as of PHP 4.1.0 if($belboon != ""){ Shopware()-\>Session()-\>belboon = $belboon; // die("Wartungstest: Belboon ist da: ".Shopware()-\>Session()-\>belboon); } if ($args-\>getSubject()-\>View()-\>hasTemplate()){ $args-\>getSubject()-\>View()-\>assign("sBelboon",Shopware()-\>Session()-\>belboon); } } }
Im Frontend funktioniert so weit glaube ich alles, aber folgenden Fehler bekomme ich dann im Backend: Fatal error: Uncaught exception 'Enlight\_Exception' with message 'Resource "Session" not found failure' in /home/domain/public\_html/engine/Library/Enlight/Bootstrap.php:261 Stack trace: #0 /home/domain/public\_html/engine/Shopware/Application.php(169): Enlight\_Bootstrap-\>getResource('Session') #1 /home/domain/public\_html/engine/Shopware/Plugins/Community/Backend/MyPlugIn/Bootstrap.php(65): Shopware-\>Session() #2 /home/domain/public\_html/engine/Library/Enlight/Event/Handler/Plugin.php(149): Shopware\_Plugins\_Backend\_MyPlugIn\_Bootstrap::onPostDispatch(Object(Enlight\_Event\_EventArgs)) #3 /home/domain/public\_html/engine/Library/Enlight/Event/EventManager.php(165): Enlight\_Event\_Handler\_Plugin-\>execute(Object(Enlight\_Event\_EventArgs)) #4 /home/domain/public\_html/engine/Library/Enlight/Controller/Action.php(191): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Array) #5 /home/domain/public\_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(521): Enlight\_Controller\_Action-\>dispatch('errorAction') #6 / in /home/domain/public\_html/engine/Library/Enlight/Bootstrap.php on line 261 503 Service Unavailable
Sollte das nicht so rum sein… $belboon = Shopware()-\>Session()-\>belboon;