# $sUserLoggedIn fehlerhaft

**URL:** <https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078>\
**Category:** Themes & Design\
**Created:** [10. September 2018 um 10:43 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078 "2018-09-10T10:43:08Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mediengestalter](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@mediengestalter](https://forum.shopware.com/u/mediengestalter)\
**Post date:** [10. September 2018 um 10:43 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078/1 "2018-09-10T10:43:08Z")

</div>

Hallo,

in der topbar-navigation.tpl möchte ich einen “Jetzt registrieren” Link einbauen, welcher natürlich ausgeblendet werden soll wenn der Kunde eingeloggt ist.

Allerdings ist die $sUserLoggedIn auf der Startseite, Kategorien,…&nbsp;trotz Login auf false. Nur auf den Seiten des Kundenkontos funktionierts.

```
 {if !$sUserLoggedIn}{s name="mgShoptitle_Link" namespace="frontend/index/topbar-navigation"}{/s}{/if}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [10. September 2018 um 10:54 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078/2 "2018-09-10T10:54:29Z")

</div>

Das die Variable nicht durchgängig vorhanden ist, bzw Inkonsistenz in der Namensgebung herrscht, hatten wir schon mehr als 1x im Forum.  
Selbst wenn die Variable durchgängig verfügbar wäre, würde Dein Vorhaben bei eingeschaltetem HTTP-Cache wirre Ergebnisse liefern, da ein erstmaliges Rendern das Menü in den Cache ablegt. Dann käme eh immer das Gleiche bei raus - abhängig davon, ob beim Erstaufruf “Eingelogt oder nicht” war.  
Funktion in einen eignen Widget-Controller auslagern und besagte Stelle im Menü dann via action-Tag einbinden.

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [11. September 2018 um 08:18 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078/3 "2018-09-11T08:18:44Z")

</div>

Ja, nur das eine Einbindung mittels Action-Tag nicht performant genug ist.

Es sollte reichen aus

```
Shopware()->Modules()->Admin()->sGetUserData()

```

den Status zu holen und in via

```
Enlight_Controller_Action_PostDispatchSecure_Frontend

```

an das Frontend zu schicken (view-\>assign).

Wenn man diese dann in z.B.MeinTheme/widgets/checkout/info.tpl abfragt sollte das ganze nie gecached werden und man kann auf das action-tag verzichten.

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [11. September 2018 um 08:24 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078/4 "2018-09-11T08:24:07Z")

</div>

Die Info.tpl wird auch gecached, wobei das dann in der Tat für einen Button egal ist, da zwei Versionen im Cache landen 😉 Aber er will es ja in topbar-navigation haben.  
[https://forum.shopware.com/discussion/41317/im-login-button-im-topmenue-soll-statt-mein-konto-nach-login-kundenname-oder-text-stehen#Comment\_176084](https://forum.shopware.com/discussion/41317/im-login-button-im-topmenue-soll-statt-mein-konto-nach-login-kundenname-oder-text-stehen#Comment_176084)

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [11. September 2018 um 09:18 UTC](https://forum.shopware.com/t/suserloggedin-fehlerhaft/55078/5 "2018-09-11T09:18:07Z")

</div>

Naja bei mir wird die in der Topbar ausgegeben… ups -\> Naja Prinzip bleibt ja trotzdem das gleiche.
