# Elemente nur erscheinen lassen, wenn User eingeloggt

**URL:** https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749
**Category:** Shopware 3.5
**Tags:** themes--design
**Created:** [11. November 2012 um 11:23 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749 "2012-11-11T11:23:49Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Makev](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@Makev](https://forum.shopware.com/u/Makev)
#### Post date: [11. November 2012 um 11:23 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/1 "2012-11-11T11:23:49Z")

</div>

Hallo, ist es möglich ein Element nur erscheinend zu lassen, wenn ein User im Shop angemeldet ist? Ich denke daran, eine “if-Abfrage” zu machen nach dem Motto “if user=angemeldet, dann…”. Gibt es so etwas? Wäre super, wenn mir jemand helfen könnte! Grüße Marko

---

<div class="post-metadata">

### Author: ![SebastianKloepper](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sebastiankloepper/32/21435_2.png) [@SebastianKloepper](https://forum.shopware.com/u/SebastianKloepper)
#### Post date: [11. November 2012 um 12:12 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/2 "2012-11-11T12:12:34Z")

</div>

Hallo, mit diesem klein Plugin wird eine Variable zur Verfügung gestellt, die es erlebt zu prüfen, ob jemand eingeloggt ist oder nicht. [http://wiki.shopware.de/Globale-Variabl … 8\_715.html](http://wiki.shopware.de/Globale-Variablen-im-Template-verwenden%5C_detail%5C_938%5C_715.html)

---

<div class="post-metadata">

### Author: ![Makev](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@Makev](https://forum.shopware.com/u/Makev)
#### Post date: [11. November 2012 um 14:45 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/3 "2012-11-11T14:45:44Z")

</div>

Super, Danke!!! Das scheint genau das zu sein, was ich suche. Ich habe noch nie so ein plugin genutzt… wie muss ich das denn einbinden? Wäre super, wenn du mir da weiterhelfen könntest. Danke schonmal 🙂 Marko

---

<div class="post-metadata">

### Author: ![troemmelt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/troemmelt/32/71_2.png) [@troemmelt](https://forum.shopware.com/u/troemmelt)
#### Post date: [12. November 2012 um 11:26 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/4 "2012-11-12T11:26:28Z")

</div>

das plguin tippst du einfach ab und gehst dem tutorial schritt für schritt nach. (is anschliessend im ordner /engine/shopware/plugins/local/frontend). Dann im backend unter einstellungen-\>plugins-\>lokale-\>aktivieren. nun haste auf allen seiten eine variable, ich glaube userLoggedIn. Die is wenn mich nicht alles täuscht 0 für true und 1 für false. damit kannste dann über smarty deine gewünschte abfrage machen. {if $userLoggedIn==0} element ein und ausblendet {/if}

---

<div class="post-metadata">

### Author: ![kube](https://avatars.discourse-cdn.com/v4/letter/k/b19c9b/32.png) [@kube](https://forum.shopware.com/u/kube)
#### Post date: [13. Juni 2014 um 15:38 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/5 "2014-06-13T15:38:35Z")

</div>

Alles schön und gut, aber wenn man HTTP-Cache einschaltet, wird das ganze aus dem Cache genommen und die Abfrage funktioniert auf den gecachten Seiten nicht mehr (wie Liste oder Detail) Was kann man da machen?

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [13. Juni 2014 um 15:45 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/6 "2014-06-13T15:45:05Z")

</div>

Du kannst diese Abfrage bzw. die Ausgabe zb in einen widget controller auslagern und diesen in den Cache Einstellungen (Einstellungen -\> Caches / Performance -\> Einstellungen -\> Allgemein -\> HTTP-Cache) vom Cache ausnehmen. Viele Grüße

---

<div class="post-metadata">

### Author: ![kube](https://avatars.discourse-cdn.com/v4/letter/k/b19c9b/32.png) [@kube](https://forum.shopware.com/u/kube)
#### Post date: [13. Juni 2014 um 16:09 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/7 "2014-06-13T16:09:06Z")

</div>

Habe mit der Lösung noch gezögert (da ein Controller mit evtl. vielen Parametern nötig ist bzw. evtl. neue Views) Und gehofft, dass es einfacher gehen würde… Werde gleich ausprobieren.

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [19. September 2014 um 11:35 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/8 "2014-09-19T11:35:57Z")

</div>

Hallo zusammen, ich bin total neu bei Shopware und es ist das erstmal das ich damit arbeite. Ich benötige genau diese Funktion um Elemente erst anzeigen zu lassen, wenn der User eingeloggt ist. Ich habe also den Code von [http://wiki.shopware.de/Globale-Variabl … 8\_715.html](http://wiki.shopware.de/Globale-Variablen-im-Template-verwenden%5C_detail%5C_938%5C_715.html) in /…/engine/Shopware/Plugins/Local/Frontend gespeichert, jedoch bekomme ich im Backend folgende Fehlermeldung Fatal error: Class ‚Shopware\_Plugins\_Frontend\_loggedin\_BootstrapDummy‘ not found in /…/engine/Shopware/Components/Plugin/Namespace.php on line 254 503 Service Unavailable Leider sind meine Programmierkenntnisse sehr mager, jedoch benötige ich diese Funktion dringend in Shopware. Wenn mir also jemand weiterhelfen könnte, wäre das super. Grüße

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [22. September 2014 um 10:52 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/9 "2014-09-22T10:52:41Z")

</div>

Könnte mir hier bitte jemand weiterhelfen, das Problem zu lösen? Danke und Grüße Mike

---

<div class="post-metadata">

### Author: ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)
#### Post date: [22. September 2014 um 11:29 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/10 "2014-09-22T11:29:00Z")

</div>

Hallo sicco0803, entferne das Plugin wieder - das wird nicht mehr benötigt. Du kannst im Template simpel auf „sUserLoggedIn“ prüfen, bspw. so: ` {if $sUserLoggedIn} //Deine Elemente {/if} ` Gruß, Patrick :shopware:

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [22. September 2014 um 11:31 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/11 "2014-09-22T11:31:40Z")

</div>

Oh … super danke. 🙂

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [29. September 2014 um 12:53 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/12 "2014-09-29T12:53:23Z")

</div>

Leider funktioniert das doch nicht wie gedacht. Ich möchte folgendes erreichen. ` {if $sUserLoggedIn} Elemente für eingeloggt {else} Elemente für Gäste {/if} ` Jedoch funktioniert das nicht, nach dem einloggen bleiben die Elemente für die Gäste und werden nicht geändert.

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [30. September 2014 um 16:07 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/13 "2014-09-30T16:07:03Z")

</div>

Ich habe herrausgefunden das die Funktion nicht angesteuert wird, der Debug gab folgendes aus $sUserLoggedIn Smarty\_Variable Object (3) -\>value = false -\>nocache = null -\>scope = “snippet:frontend/index/checkout\_actio…” egal ob angemeldet oder nicht.

---

<div class="post-metadata">

### Author: ![sicco0803](https://avatars.discourse-cdn.com/v4/letter/s/c37758/32.png) [@sicco0803](https://forum.shopware.com/u/sicco0803)
#### Post date: [2. Oktober 2014 um 11:09 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/14 "2014-10-02T11:09:08Z")

</div>

Kann mir bitte jemand helfen, ich komme echt nicht weiter und weiß nicht wo der Fehler liegt das es nicht funktioniert. Vielen Dank und Grüße Mike

---

<div class="post-metadata">

### Author: ![padaja](https://avatars.discourse-cdn.com/v4/letter/p/9fc348/32.png) [@padaja](https://forum.shopware.com/u/padaja)
#### Post date: [7. Oktober 2015 um 11:07 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/15 "2015-10-07T11:07:56Z")

</div>

Gibt es hierfür schon eine Lösung?

---

<div class="post-metadata">

### Author: ![blockdesigner](https://avatars.discourse-cdn.com/v4/letter/b/54ee81/32.png) [@blockdesigner](https://forum.shopware.com/u/blockdesigner)
#### Post date: [29. April 2016 um 19:03 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/16 "2016-04-29T19:03:15Z")

</div>

Wäre auch für Infos dankbar - mit der&nbsp;

```
 {if $sUserLoggedIn} konnte ich bisher auch keine Ergebnisse erzielen. Gleiches Problem
```

---

<div class="post-metadata">

### Author: ![mk2000](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mk2000](https://forum.shopware.com/u/mk2000)
#### Post date: [27. Juli 2016 um 09:45 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/17 "2016-07-27T09:45:51Z")

</div>

Da es scheinbar echt nicht möglich ist “ab Werk” zu prüfen ob ein User angemeldet ist oder nicht hier mein PluginCode das die Variable $UserID im Template verfügbar macht. Die kann man dann auf der ganzen Seite abfragen.

```
public function install()
    {
        $this->subscribeEvent('Enlight_Controller_Action_PostDispatch_Frontend','CheckLogin');
        return true;
    }

public function CheckLogin(Enlight_Event_EventArgs $arguments)
    {
      $controller = $arguments->getSubject();
      $view = $controller->View();
      $view->assign('UserID', Shopware()->Session()->sUserId);
    }     

```

Im Template dann einfach mit {if $UserID}…{/if} prüfen ob der User angemeldet ist.

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [27. Juli 2016 um 11:02 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/18 "2016-07-27T11:02:58Z")

</div>

Ein Hinweis dazu:

Wenn HTTP Cache aktiviert ist, wird das einfache Abfragen der UserId im Template nicht korrekt funktionieren. Hier muss ein ESI Controller implementiert werden, damit dieser vom Caching ausgenommen wird.

---

<div class="post-metadata">

### Author: ![Arya\_Svitkona](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/arya_svitkona/32/15319_2.png) [@Arya\_Svitkona](https://forum.shopware.com/u/Arya_Svitkona)
#### Post date: [5. Januar 2017 um 17:23 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/19 "2017-01-05T17:23:06Z")

</div>

Hallo Zusammen,

Streift vielleicht gerade die Themen welche hier behandelt wurden.  
Geht nämlich um beinahe den selben Status.

Ich darf auf der „/account/index.tpl“ einen Script ausführen, wenn der User sich erfolgreich Registriert hat.  
Dafür würde ich eine Abfrage machen à la (nur für Testzwecke so geschrieben):

```
{block name='frontend_index_after_body'}
Here you go:
{if $Controller == "account" && $frischRegistriert}
			{literal}
				fbq('track', 'CompleteRegistration');
			{/literal}
		{/if}
{/block}

```

Nun habe ich zwei Fragen…

1. Wie könnte ich auf die Session Zugreifen (z.b. $session[‚sRegister‘]) o.ä.?
2. Wie unterscheide ich zwischen einem „angemeldeten User“ und einem „neuen User“?

Scheint mir ohne Plugin nicht möglich zu sein.

Lieber Gruss  
Arya\_Svitkona  
&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![mandymue78](https://avatars.discourse-cdn.com/v4/letter/m/85f322/32.png) [@mandymue78](https://forum.shopware.com/u/mandymue78)
#### Post date: [5. April 2017 um 16:12 UTC](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749/20 "2017-04-05T16:12:36Z")

</div>

Kann es sein dass die Variable auf den eigenen Inhaltsseiten nicht funktioniert.

Ich habe jetzt alles versucht. Mit Debug wird mir die Variable auch angegeben aber ich kann sie nicht aufrufen.

![Foot-in-Mouth](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bedbc37f276faa6d086ddea9cd70cb0550bbd56e.png "Foot-in-Mouth")

$sUserLoggedIn

**Smarty\_Variable Object (3)**  
**-\>value** = _true_  
**-\>nocache** = _null_  
**-\>scope** = “snippet:frontend/custom/index.tpl|fro…”

Ich werd hier noch weich, nirgendwo eine vernünftige Doku.

[Nächste Seite](https://forum.shopware.com/t/elemente-nur-erscheinen-lassen-wenn-user-eingeloggt/9749.md?page=2)
