# Globale Variablen im Template

**URL:** <https://forum.shopware.com/t/globale-variablen-im-template/42865>\
**Category:** Allgemein\
**Created:** [17. Januar 2017 um 16:15 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865 "2017-01-17T16:15:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [17. Januar 2017 um 16:15 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/1 "2017-01-17T16:15:14Z")

</div>

Liebes Forum 🙂 🙂

gibt es eine Möglichkeit in einem Template (.tpl) trotz des Blocksystems globale Variablen zu definieren ?

Mit php geht das natrürlich, möchte das aber im Theme machen. Ich denke daran, irgendwo im Kopf der .tpl Datei Variablen zu definieren, die dann innerhalb der Blöcke verwendet werden können. Geht das irgendwie ?  
Vielleicht auch in einem extra Block ?

Liebe Grüße

Kerstin

---

<div class="post-metadata">

**Author:** ![mewald](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@mewald](https://forum.shopware.com/u/mewald)\
**Post date:** [17. Januar 2017 um 21:27 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/2 "2017-01-17T21:27:54Z")

</div>

Hallo Kerstin,

wenn ich dich richtig verstehe sollte es ja reichen, wenn du in der Datei /frontend/index/index.tpl eine Variable erstellst mit&nbsp;

```
 {assign var="name" value="value"}

```

Hier sollte die Variable dann ja auf überall zur Verfügung stehen.&nbsp;

LG

&nbsp;

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [17. Januar 2017 um 23:26 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/3 "2017-01-17T23:26:14Z")

</div>

Danke für die Antwort.

Das ist allerdings etwas zu global. Ich dachte, dass die Variable in der Templatedatei und ggf. in den includeten Templatedateien sichtbar sein soll.

---

<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:** [4. April 2017 um 12:17 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/4 "2017-04-04T12:17:16Z")

</div>

Ich habe in der index.tpl ein Variable definiert

&nbsp;{assign var=“Kundennummer” value=“D80043” scope=“global”}  
&nbsp;{assign “Kundennummer” “D80043” scope=“global”} {\* short-hand \*}

Ich kann die aber auf anderen tpl’s nicht abrufen

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [4. April 2017 um 12:30 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/5 "2017-04-04T12:30:51Z")

</div>

das scope brauchst du gar nicht, wenn du sie so wie oben erwähnt in der &nbsp;/frontend/index/index.tpl definierst. Dann ist sie global. Ein bisschen zu global für meinen Geschmack.

In der short-Hand Version fehlt das = - Zeichen.&nbsp;Aber das ist wohl nicht der Originalcode, sonst wäre das beim Kompilieren aufgefallen.

---

<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:** [4. April 2017 um 12:40 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/6 "2017-04-04T12:40:27Z")

</div>

Ist der Originalcode, der Wert soll sich natürlich je nach Login ändern.

Ich brauche einfach eine Variable mit Kundennummer und LOG-Status die ich überall im Shop benutzen kann.

Allerdings funktioniert ja die Version von oben sowieso nicht, da ich die Variable in meiner TPL nicht abrufen kann.

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [4. April 2017 um 13:02 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/7 "2017-04-04T13:02:09Z")

</div>

```
 Die Daten stehen ohnehin zur Verfügung. Eingelogged: sUserLoggedIn = True/False

 und alle Userdaten sind in dem Array sUserData zu finden (auch Adresse etc.)
```

---

<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:** [4. April 2017 um 13:27 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/8 "2017-04-04T13:27:42Z")

</div>

Dann bitte nochmal für Dummys.

Ich habe unter frontend/custom eine eigene tpl Datei.

> **[B2B Shopping Nordhäuser Papyrus](https://b2b.papyrus-nordhausen.de/custom/index/sCustom/47)**

Hier möchte ich Felder mit den Login-Daten vorbelegen

also z.B. {$sUserData.additional.user.customernumber} bei Kundennummer

Das Feld ist aber leer es wird keine Kundennummer ausgegeben

---

<div class="post-metadata">

**Author:** ![Kerstin83](https://avatars.discourse-cdn.com/v4/letter/k/49beb7/32.png) [@Kerstin83](https://forum.shopware.com/u/Kerstin83)\
**Post date:** [4. April 2017 um 14:17 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/9 "2017-04-04T14:17:15Z")

</div>

ja, stimmt, sehe ich jetzt auch. Sonst sind diese Daten in (fast?) allen Templates vorhanden. Besonders irreführend ist, dass&nbsp;

```
 sUserLoggedIn = False

```

übergeben wird.

Dann ist in dieser Situation diese Variable aber gar nicht bekannt, und da hilft es nicht, wenn du in der frontend/index/index.tpl die Userdaten einträgst. Da musst du dir wohl ein kleines Plugin schreiben, das diese Werte zur Verfügung stellt.

(Meine Fragestellung war eine ganz andere. Da ging es um eine statische Variable, die immer gleich bleibt. Etwa so wie die Variablen in less).

Zum Beispiel könntest du über die Session gehen und die Cookies auslesen.

Als richtig globale Variable kann es nicht gehen, da es ja verschiedene User gibt. Hoffe ich zumindest für dich 🙂

---

<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 05:11 UTC](https://forum.shopware.com/t/globale-variablen-im-template/42865/10 "2017-04-05T05:11:40Z")

</div>

Sorry aber bei Plugin schreiben bin ich raus…
