# Mittels Plugin einer Variable einen Wert zuweisen, der im Template ausgelesen werden kann

**URL:** <https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278>\
**Category:** Programmierung\
**Created:** [15. April 2020 um 15:06 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278 "2020-04-15T15:06:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Odido](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/odido/32/9729_2.png) [@Odido](https://forum.shopware.com/u/Odido)\
**Post date:** [15. April 2020 um 15:06 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/1 "2020-04-15T15:06:18Z")

</div>

Hallo,

ich schaffe es nicht, in einem Template einer Variablen einen Wert zuzuweisen, der dann im Template zur Verfügung steht:

```
    public static function getSubscribedEvents()
    {
	return [
	    'Enlight_Controller_Action_Frontend_Checkout_Confirm' => 'createFile',
            'Enlight_Controller_Action_Frontend_Checkout_Confirm' => 'loadTemplate',
            'Enlight_Controller_Action_Frontend_Checkout_Cart' => 'loadTemplate',
            'Enlight_Controller_Action_Frontend_Checkout_AjaxCart' => 'loadTemplate',
	];
    }

    public function loadTemplate(\Enlight_Event_EventArgs $args)
    {
        $this->container->get('Template')->addTemplateDir($this->getPath() . '/Resources/views/');
    }

   public function createFile(\Enlight_Event_EventArgs $args){
      $subject = $args->getSubject();
      $view = $subject->View();
      $this->loadTemplate();
      $dateiname = date("Ymd-His"); //Dateiname erzeugen
      $view->assign('Dateiname',$dateiname);

    }

```

Die Zuweisung des Templates ist erfolgreich, weil ich in diesem {debug} eingebaut habe und das Debugfenster auch erscheint. Aber es enthält keine Variable namens Dateiname.

Wo ist mein Fehler?

Gesunde Grüße und Danke

Oliver

---

<div class="post-metadata">

**Author:** ![Rednaxela](https://avatars.discourse-cdn.com/v4/letter/r/ad7895/32.png) [@Rednaxela](https://forum.shopware.com/u/Rednaxela)\
**Post date:** [15. April 2020 um 15:27 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/2 "2020-04-15T15:27:56Z")

</div>

Das Plugin scheint mir ein wenig unvollständig. Und die Beschreibung wo der Fehler auftaucht ist auch etwas dürftig. Und damit soll man den Fehler finden? Also etwas mehr Infos bitte ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

---

<div class="post-metadata">

**Author:** ![Odido](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/odido/32/9729_2.png) [@Odido](https://forum.shopware.com/u/Odido)\
**Post date:** [15. April 2020 um 15:37 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/3 "2020-04-15T15:37:26Z")

</div>

Rednaxela: ich versteh Deinen Einwand nicht. Das fertige Plugin soll natürlich mehr machen, aber der gezeigte Code sollte doch ausreichen, um eine Variable zu setzen. Und es gibt keine Fehlermeldung. Alles läuft problemlos. Auch der restliche Code des Plugins. Nur die Variable wird NICHT gesetzt und ist im Template nicht vorhanden. Im Debugfenster wird sie nicht angezeigt.

Was fehlt da an Info - die Events vielleicht? Und das fragliche Template ist das confirm.tpl. Ansonsten steh ich auf dem Schlauch.

---

<div class="post-metadata">

**Author:** ![Rednaxela](https://avatars.discourse-cdn.com/v4/letter/r/ad7895/32.png) [@Rednaxela](https://forum.shopware.com/u/Rednaxela)\
**Post date:** [15. April 2020 um 16:33 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/4 "2020-04-15T16:33:17Z")

</div>

Wird denn createFile überhaupt aufgerufen?

Edit: Ich hab den oberen Teil (getsubscribedEents) gar nicht gesehen 🙂

---

<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:** [15. April 2020 um 17:14 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/5 "2020-04-15T17:14:19Z")

</div>

Du registrierst Dich 2x auf

```
Enlight_Controller_Action_Frontend_Checkout_Confirm

```

das zweite dürfte den ersten überschreiben. Ich würde eh nur auf Checkout gehen (ohne \_Confirm) und dann die action im subscriber abfrage. Eh ein bischen viele events für eine Aktion, insbesondere das Templateladen. Müßte ich mir morgen mal am PC angucken, Handy ist eher suboptimal

---

<div class="post-metadata">

**Author:** ![Odido](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/odido/32/9729_2.png) [@Odido](https://forum.shopware.com/u/Odido)\
**Post date:** [16. April 2020 um 06:23 UTC](https://forum.shopware.com/t/mittels-plugin-einer-variable-einen-wert-zuweisen-der-im-template-ausgelesen-werden-kann/66278/6 "2020-04-16T06:23:09Z")

</div>

Hallo sonic,

genau das war’s. Herzlichen Dank.

@Rednaxela‍ das hattest Du nicht übersehen. Ich hab’s aufgrund Deiner Antwort ergänzt ![Blush](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/2f2885a69a3ab7fc5454d32cd96e7133e5bcd558.png "Blush"). Auch Dir Danke.

Bleibt gesund

Oliver
