Im Frontend-Controller auf Backend-Session (BE-User) prüfen

Wir möchten gerne bestimmte Dinge im Frontend nicht ausgeben, wenn parallel im selben Browser ein Backend-Benutzer eingeloggt ist (Google Tag Manager etc.) um somit verfälschte Tracking- und Conversion-Aufzeichnungen zu vermeiden. Dazu würde ich gerne im eigenen Event hiernach prüfen um dann der View eine entsprechende Variable setzen zu können. Leider schlagen aktuell alle Versuche fehl. Shopware()->Auth()->hasIdentity() funktioniert nicht und loggt den Backend-Benutzer aus. Es scheint auch keine vorhandenen Smarty-Variablen zu geben wo diese Information drin stecken könnte. Hat jemand dieses Problem schon gelöst und kann einen Tipp geben?

Hat niemand eine ähnliche Anforderung bisher gehabt?

Hi, ggf. hilft dir “Shopware()->Session()->Admin” weiter - bin mir aber nicht sicher, ob das ggf. nur gesetzt wird, wenn man sich im Backend als Kunde einloggt oder im Artikel auf “preview” klickt. Das müsstest du mal testen. Grundsätzlich muss man bei solchen Geschichten auch immer daran denken, dass das ggf. Auswirkungen auf den Cache hat - für “Shopware()->Session()->Admin” hat er Ausnahmen drin, alle weiteren Individualanpassungen könnte das aber relevant sein. Daniel

Ein Ajax Request auf /backend/login/getLoginStatus gibt ein json Object mit ‚success‘ true/false zurück, je nachdem ob der User im Backend eingeloggt ist oder nicht.