Frontend und Backend Session?

Hey, kann es sein, dass es eine Session fürs Frontend und eine seperate für das Backend gibt? Möchte vom Backend aus Informationen in die Frontend Session legen. Hat jemand eine Idee wie das geht?

Hi, so wird das z.B. im Backend für die Funktion „Artikel-Vorschau“ gemacht: public function previewDetailAction() { $shopId = (int)$this-\>Request()-\>getParam('shopId'); $articleId = (int)$this-\>Request()-\>getParam('articleId'); // 1. Shop laden: $repository = Shopware()-\>Models()-\>getRepository('Shopware\Models\Shop\Shop'); $shop = $repository-\>getActiveById($shopId); // oder -\>getActiveDefault() $shop-\>registerResources(Shopware()-\>Bootstrap()); // 2. Frontend-Session starten / Variable in Session speichern Shopware()-\>Session()-\>Admin = true; // 3. Auf Frontend weiterleiten, da Backend-Session geschlossen / um Frontend-Cookie anzulegen $url = $this-\>Front()-\>Router()-\>assemble(array( 'module' =\> 'frontend', 'controller' =\> 'detail', 'sArticle' =\> $articleId, 'appendSession' =\> true )); $this-\>redirect($url); } Achtung: Nachdem man die Frontend-Session gestartet hat, sollte man keine weiteren Backend-Sachen mehr machen. Die Backend-Session ist nämlich danach geschlossen und z.B. Template-Ausgaben können nicht mehr sicher gemacht werden. In dem Beispiel wurde das übrigens durch eine zusätzliche Action gelöst, die nach dem Frontend-Login auf das Frontend weiterleitet. Heiner

1 „Gefällt mir“

Hey Heiner, vielen Dank für die schnelle Antwort. Ich habe mich allerdings dagegen entschieden, die Session, zum speichern der Information, zu benutzen, da ich diese Informationen länger als die Laufzeit der Session brauche. Habe das ganze jetzt über folgenden Code gelöst. Hierbei ist es wichtig als vierten Parameter ‚/‘ anzugeben, damit das Cookie auf der gesamten Domain verfügbar ist. setcookie("NameDesCookies", 1, time()+60\*60\*24\*365, '/');