# Templatevariablen im Widget

**URL:** https://forum.shopware.com/t/templatevariablen-im-widget/29153
**Category:** Programmierung
**Created:** [27. Juli 2015 um 09:05 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153 "2015-07-27T09:05:33Z")
**Posts on this page:** 14
**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: [27. Juli 2015 um 09:05 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/1 "2015-07-27T09:05:33Z")

</div>

Liebes Forum 🙂 🙂 ich habe jetzt ein Widget, das einen ungecachten Bereich in mein Template einbettet. Es wird aufgerufen durch {action module=Widgets controller=ExcludeTemplate action=index} und es wird dann der Inhalt der Datei: Plugins\Community\Frontend\ExcludeTemplate\Views\widgets\exclude\_template\index.tpl eingebettet. Wie ist das mit Templatevariablen? Ich möchte gerne in dem Widget Variablen aus meinem Template verwenden. Zum Beispiel die Variable {$sCategoryInfo}. Wie kann ich die ins Widget bekommen? Oder geht das gar nicht? Zuerst habe ich versucht, im Template Variablen aus dem Widget verwenden, z.B.: $this-\>View()-\>assign(‘templatevariable’, 100); Aber diese Variable kommt nicht im aufrufenden Template nicht an. Geht das vielleicht anders? Und wahrscheinlich würde das eh wieder gecached werden, oder? Liebe Grüße Kerstin

---

<div class="post-metadata">

### Author: ![benblub](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@benblub](https://forum.shopware.com/u/benblub)
#### Post date: [27. Juli 2015 um 10:31 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/2 "2015-07-27T10:31:26Z")

</div>

> [@](#):
>
> Wie kann ich die ins Widget bekommen?

---

<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: [27. Juli 2015 um 10:56 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/3 "2015-07-27T10:56:13Z")

</div>

Danke. Bist du sicher, dass da nichts fehlt? Ich habe das gemacht. Im Controller: ` $sCategoryInfo = Shopware()-\>Config()-\>get('sCategoryInfo'); $this-\>View()-\>assign('sCategoryInfo', $sCategoryInfo); $this-\>View()-\>uncachedTemplateVariable = rand(); ` und im widget Template: `| Kategorie: {$sCategoryInfo.id} | Zufallswert: {$uncachedTemplateVariable} |` Der Zufallswert rand() kommt an, $sCategoryInfo.id kommt nicht an. LG Kerstin

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [27. Juli 2015 um 11:32 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/4 "2015-07-27T11:32:51Z")

</div>

Du solltest die Variable über den Smarty Action Tag zuweisen können. Also z.B. `{action controller=meinController action=meineAction meineVariable=$sCategoryInfo}` Damit sollte diese Variable allerdings auch gecached werden. Wenn Du auch hier einen ungecacheten Wert brauchst, dann musst Du Dir den Wert genauso holen wie es der entsprechende Controller macht.

---

<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: [27. Juli 2015 um 12:04 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/5 "2015-07-27T12:04:51Z")

</div>

[quote=“Kerstin83”]$sCategoryInfo.id kommt nicht an.[/quote] $sCategoryInfo ist auch ein string - und du nutzt es als ein Array. Daher gibt smarty einen leeren, nicht existenten Wert aus. Viele Grüße

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [27. Juli 2015 um 12:07 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/6 "2015-07-27T12:07:54Z")

</div>

[quote=“Aquatuning GmbH”][quote=“Kerstin83”]$sCategoryInfo.id kommt nicht an.[/quote] $sCategoryInfo ist auch ein string - und du nutzt es als ein Array. Daher gibt smarty einen leeren, nicht existenten Wert aus. Viele Grüße[/quote] Auf der Detailseite ist es ein String, im Listing ist es ein Array.

---

<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: [27. Juli 2015 um 12:34 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/7 "2015-07-27T12:34:43Z")

</div>

auch $sCategoryInfo als string verwendet (also ohne id) kommt nicht an. Und ich habe es auch mit anderen Variablen versucht, zum Beispiel mit $hasEmotion. Kommt alles nicht an. Woran kann das liegen ??? ($sCategoryInfo ist bei mit eigentlich immer ein Objekt/Array. Auch auf der Detailseite. Zumindest wird das in FirePHP (mit Debug) so angezeigt)

---

<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: [27. Juli 2015 um 14:01 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/8 "2015-07-27T14:01:05Z")

</div>

nochmal, warum kommt sCategoryInfo nicht an? ` $sCategoryInfo = Shopware()-\>Config()-\>get('sCategoryInfo'); $this-\>View()-\>assign('sCategoryInfo', $sCategoryInfo); ` 😢 Wäre schön, wenn jemand das klären könnte LG Kerstin

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [27. Juli 2015 um 14:03 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/9 "2015-07-27T14:03:40Z")

</div>

Hast Du meinen Vorschlag mal probiert?

---

<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: [27. Juli 2015 um 14:09 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/10 "2015-07-27T14:09:18Z")

</div>

ja, danke, hat auch geklappt. 🙂 Aber ich würde das gerne so allgemein machen (also die Daten von shopware direkt holen). So wie der andere Vorschlag ist (Shopware()-\>Config()-\>get(‘sCategoryInfo’)). Wenn das irgendwie geht. LG Kerstin

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [27. Juli 2015 um 14:16 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/11 "2015-07-27T14:16:20Z")

</div>

Wenn das so einfach gehen würde, dann würde der Controller das auch so machen. Hier der relevante Teil aus dem Listing Controller: `$requestCategoryId = $this-\>Request()-\>getParam('sCategory'); if ($requestCategoryId && !$this-\>isValidCategoryPath($requestCategoryId)) { throw new Enlight\_Controller\_Exception( 'Listing category missing, non-existent or invalid for the current shop', 404 ); } $categoryContent = Shopware()-\>Modules()-\>Categories()-\>sGetCategoryContent($requestCategoryId); //... $viewAssignments = array( //... 'sCategoryInfo' =\> $categoryContent ); //... $this-\>View()-\>assign($viewAssignments);`

---

<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: [27. Juli 2015 um 14:22 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/12 "2015-07-27T14:22:12Z")

</div>

ok, schau ich mir gleich mal an. Aber was meinte denn benblub mit `$var\_xy = Shopware()-\>Config()-\>get('var\_xy'); $this-\>View()-\>assign('var\_xy', $var\_xy);` ? oder ist das quatsch? LG Kerstin

---

<div class="post-metadata">

### Author: ![dirk\_designverign](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@dirk\_designverign](https://forum.shopware.com/u/dirk_designverign)
#### Post date: [27. Juli 2015 um 14:27 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/13 "2015-07-27T14:27:45Z")

</div>

Damit kommt man an allgemeinere Einstellungen. Z.B. die Werte aus den Grundeinstellungen. sCategoryInfo gehört da nicht zu.

---

<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: [27. Juli 2015 um 14:50 UTC](https://forum.shopware.com/t/templatevariablen-im-widget/29153/14 "2015-07-27T14:50:44Z")

</div>

ah, danke sehr. Ich hatte mich auch schon über das Config() darin gewundert. Das hört sich ja eher nach Konfiguration an als nach Variablen. Dann werde ich mich mal an den Code setzen. Danke nochmal LG Kerstin
