GetUser

Hallo, als Shopware-Neuling bin ich gerade an eine Grenze gestoßen. Ich brauche die ID des Nutzers (falls angemeldet) in einem Event, das “onFrontendPostDispatch” registriert ist. Ich habe es analog zu Tutorials mit sArticles und mit Querlesen im Template-Ordner “Account” probiert und versucht über 3 Varianten ein User-Array zu erhalten: $user = $view->sUser; $user = $view->sUserData; $user = $view->getAssign(‘sUser’); Alle drei Varianten bringen kein Ergebnis. Kann mir jemand helfen? Danke schon mal und Gruß Florian

Bist du dir sicher, dass sUser überhaupt im Template registriert wurde?! Alternativ kannst du es selber über die Session auslesen. Viele Grüße

Danke, dass es die Registrierung gibt, habe ich geraten … Die Lösung über die Session funktioniert. Danke auch dafür. Für die Community: Kein Login: $SESSION[“Shopware”][“sUserId”] registriert, aber ohne Wert. Login: $SESSION[“Shopware”][“sUserId”] mit der entsprechenden ID gesetzt.

[quote=“kidowo”]dass es die Registrierung gibt, habe ich geraten …[/quote] Nicht raten - sondern testen / debuggen. Entweder mit einem debugger deiner Wahl, einem print_r() / var_dump() oder über die Shopware Entwicklertoolbar (http://store.shopware.com/swag00681/ent … olbar.html). [quote=“kidowo”]Kein Login: $SESSION[“Shopware”][“sUserId”] registriert, aber ohne Wert. Login: SESSION["Shopware"]["sUserId"] mit der entsprechenden ID gesetzt.[/quote] Du solltest auf den direkten Zugriff von Superglobals verzichten. An das Zend Session Objekt kommst du zb über Shopware()-\>Session(). An _GET oder $_POST zb über das request Objekt. In deinem Fall hättest du mehrere Möglichkeiten - je nach Shopware Version: Shopware()->SessionID() Shopware()->Session()->get( “sessionId” ) Shopware()->Session()->offsetGet( “sessionId” ) Viele Grüße

1 Like