# Checkout - Erweiterung um Inputfeld - Versand per E-Mail

**URL:** <https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128>\
**Category:** Programmierung\
**Created:** [12. Dezember 2016 um 15:03 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128 "2016-12-12T15:03:39Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [12. Dezember 2016 um 15:03 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/1 "2016-12-12T15:03:39Z")

</div>

Hallo zusammen,

gerade in den ersten Schritten der Plugin-Entwicklung. Unser Plugin soll den&nbsp;Checkout/Confirm um ein weiteres Feld erweitern&nbsp;und hängt sich&nbsp;auch schon&nbsp;wunderbar in den View so ein, wie wir uns das wünschen.&nbsp;Beim Versenden der Bestellung soll nun noch der Inhalt des neuen&nbsp;Feldes in der sORDER-Mail verschickt werden.

Folgendes Snippet von&nbsp;@codiverse‍&nbsp;hat uns bereits gut weitergeholfen.  
[https://forum.shopware.com/discussion/18916/sorder-erweitern-um-variablen](https://forum.shopware.com/discussion/18916/sorder-erweitern-um-variablen)

Wie bekommen wir den Inhalt des Feldes? Ein kleines Codesnippet wäre Ideal. 🙂

```
public function meineFunktion(Enlight_Hook_HookArgs $args) {
		$variables = $args->getReturn();
		
		$variables["sOrderDetails"]['meineVariable'] = 'passender Wert des Inputfeldes?!';
		
		return $variables;
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [12. Dezember 2016 um 15:35 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/2 "2016-12-12T15:35:04Z")

</div>

> [@eldan schrieb:](https://forum.shopware.com/profile/20128/eldan "eldan")
> 
> Hallo zusammen,
> 
> gerade in den ersten Schritten der Plugin-Entwicklung. Unser Plugin soll den&nbsp;Checkout/Confirm um ein weiteres Feld erweitern&nbsp;und hängt sich&nbsp;auch schon&nbsp;wunderbar in den View so ein, wie wir uns das wünschen.&nbsp;Beim Versenden der Bestellung soll nun noch der Inhalt des neuen&nbsp;Feldes in der sORDER-Mail verschickt werden.
> 
> Folgendes Snippet von&nbsp;@codiverse‍&nbsp;hat uns bereits gut weitergeholfen.  
> [https://forum.shopware.com/discussion/18916/sorder-erweitern-um-variablen](https://forum.shopware.com/discussion/18916/sorder-erweitern-um-variablen)
> 
> Wie bekommen wir den Inhalt des Feldes? Ein kleines Codesnippet wäre Ideal. ![:)](https://dub1.discourse-cdn.com/flex013/resources/emoji/smile.png ":)")
> 
> public function meineFunktion(Enlight\_Hook\_HookArgs $args) {  
> $variables = $args-\>getReturn();
> 
> $variables[„sOrderDetails“][‚meineVariable‘] = ‚passender Wert des Inputfeldes?!‘;
> 
> return $variables;  
> }
> 
> &nbsp;

Hallo,

und warum wollt ihr die Welt neu erfinden: [Bis zu 4 zusätzliche Felder für die Bestellabschluss-Seite | Shopware Store](http://store.shopware.com/scha122094965729/bis-zu-4-zusaetzliche-felder-inklusive-validierung-fuer-die-bestellabschluss-seite.html) ? Das Plugin bietet doch ansich schon alles, was der Kunde brauchen könnte.

Zum Thema: einfach den Wert in einer Shopware Session speichern und dann später wieder an der entsprechenden Stelle auslesen.

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [13. Dezember 2016 um 08:49 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/3 "2016-12-13T08:49:43Z")

</div>

Hallo Sebastian,

gerne würden wir auf euer Plugin zurückgreifen. Hatten&nbsp;wir auch bereits auf dem Testserver im Einsatz.  
Bisher&nbsp;bekommen wir es mittels JavaScript aber nicht hin in eines der ersten Felder zu schreiben.  
Das erstellte JavaScript liest unser Cookie bereits aus und schreibt die Partner-ID in ein „Test-Input“, aber leider nicht in das erste Input eures Plugins.

Gibt es da irgendeine Möglichkeit das umzusetzen?

VG  
&nbsp;

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [13. Dezember 2016 um 08:59 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/4 "2016-12-13T08:59:01Z")

</div>

> [@eldan schrieb:](https://forum.shopware.com/profile/20128/eldan "eldan")
> 
> Hallo Sebastian,
> 
> gerne würden wir auf euer Plugin zurückgreifen. Hatten&nbsp;wir auch bereits auf dem Testserver im Einsatz.  
> Bisher&nbsp;bekommen wir es mittels JavaScript aber nicht hin in eines der ersten Felder zu schreiben.  
> Das erstellte JavaScript liest unser Cookie bereits aus und schreibt die Partner-ID in ein „Test-Input“, aber leider nicht in das erste Input eures Plugins.
> 
> Gibt es da irgendeine Möglichkeit das umzusetzen?
> 
> VG  
> &nbsp;

Hallo,

wie wäre es mit:

```
    window.addEventListener("load", myOnloadEvent, false);

    function myOnloadEvent(){
         document.getElementById("attribute_orderfield1_value").value = meinCookieWert;
    }

```

oder:

```
    $( document ).ready(function() {
         $("#attribute_orderfield1_value").val(meinCookieWert);
    });

```

Beides sollte natürlich auch nach dem Shopware Block frontend\_checkout\_confirm\_agb hinzugefügt werden (damit das Skript nicht vor den anderen ausgeführt wird). Ebenso sollte man auch vorher prüfen, ob das Feld bereits vorhanden ist.

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [13. Dezember 2016 um 09:40 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/5 "2016-12-13T09:40:02Z")

</div>

Danke dafür. 🙂  
So was in der Art hatten wir auch vor. In unserem Theme unter “themes/Frontend/UNSERTHEME/frontend/custom/confirm.tpl” nimmt er die Änderung aber leider nicht an. Müssen wir es an eine andere Stelle packen?

VG und Danke im Voraus.

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [13. Dezember 2016 um 09:48 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/6 "2016-12-13T09:48:37Z")

</div>

> [@eldan schrieb:](https://forum.shopware.com/profile/20128/eldan "eldan")
> 
> Danke dafür. ![:)](https://dub1.discourse-cdn.com/flex013/resources/emoji/smile.png ":)")  
> So was in der Art hatten wir auch vor. In unserem Theme unter „themes/Frontend/UNSERTHEME/frontend/custom/confirm.tpl“ nimmt er die Änderung aber leider nicht an. Müssen wir es an eine andere Stelle packen?
> 
> VG und Danke im Voraus.

Hallo,

das ist ja auch richtig so, da das Verzeichnis auch falsch ist, siehe:

> **[Getting started with Shopware templating](https://developers.shopware.com/designers-guide/getting-started/#template-blocks)**
>
> Getting started with Shopware templating

> **[Plugin quick Startup Guide](https://developers.shopware.com/developers-guide/plugin-quick-start/#template-extension)**
>
> Plugin quick Startup Guide

Der richtige Pfad wäre eher: theme/UNSER\_THEME/frontend/checkout/confirm.tpl

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [13. Dezember 2016 um 09:59 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/7 "2016-12-13T09:59:03Z")

</div>

Hallo Sebastian,

auch hier nochmal vielen Dank.

Es hängt nun unter dem Block {frontend\_checkout\_confirm\_confirm\_table\_actions} befüllt aber das Input-Feld nicht.&nbsp;  
Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?

```
    // function to get cookie information with additional getter and setter
    Cookie = {
      get: function(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i = 0; i <ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') {
                c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
                return c.substring(name.length,c.length);
            }
        }
        return "";
      },
     set: function(name, value) {
        document.cookie = name + "=" + value;
      }
    };

    Cookie.set("VPID", "78234234234"); // test data
    document.getElementById("attribute_orderfield1_value").value = Cookie.get("VPID"); // test
    // check if we are in the confirm view - not really smooth yet....
    /*if(document.getElementsByClassName("is--act-confirm").length > 0 ) {
      if(Cookie.get("VPID") != null) { // if the partner-id is not empty set the partner-id into the comment field
        document.getElementById("attribute_orderfield1_value").value = "Partner-ID: " + Cookie.get("VPID");
      }*/
    }

```

VG

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [13. Dezember 2016 um 10:54 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/8 "2016-12-13T10:54:45Z")

</div>

> [@eldan schrieb:](https://forum.shopware.com/profile/20128/eldan "eldan")
> 
> Hallo Sebastian,
> 
> auch hier nochmal vielen Dank.
> 
> Es hängt nun unter dem Block {frontend\_checkout\_confirm\_confirm\_table\_actions} befüllt aber das Input-Feld nicht.&nbsp;  
> Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?
> 
> // function to get cookie information with additional getter and setter  
> Cookie = {  
> get: function(cname) {  
> var name = cname + „=“;  
> var ca = document.cookie.split(‚;‘);  
> for(var i = 0; i \<ca.length; i++) {  
> var c = ca[i];  
> while (c.charAt(0)==’ ') {  
> c = c.substring(1);  
> }  
> if (c.indexOf(name) == 0) {  
> return c.substring(name.length,c.length);  
> }  
> }  
> return „“;  
> },  
> set: function(name, value) {  
> document.cookie = name + „=“ + value;  
> }  
> };
> 
> Cookie.set(„VPID“, „78234234234“); // test data  
> document.getElementById(„attribute\_orderfield1\_value“).value = Cookie.get(„VPID“); // test  
> // check if we are in the confirm view - not really smooth yet…  
> /_if(document.getElementsByClassName(„is–act-confirm“).length \> 0 ) {  
> if(Cookie.get(„VPID“) != null) { // if the partner-id is not empty set the partner-id into the comment field  
> document.getElementById(„attribute\_orderfield1\_value“).value = "Partner-ID: " + Cookie.get(„VPID“);  
> }_/  
> }
> 
> VG

Hallo,

euer Code wird ja aber sofort ausgeführt. Habt ihr es einmal mit der oben genannten onLoad - Prüfung probiert? Oder es mal testweise mit einer JavaScript-Zeitverzögerung probiert (vielleicht wird das Feld ja erst nach eurem Code dargestellt)?

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [13. Dezember 2016 um 10:56 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/9 "2016-12-13T10:56:14Z")

</div>

Hallo Sebastian,

danke dir. Werden wir gleich mal versuchen.

VG

---

<div class="post-metadata">

**Author:** ![eldan](https://avatars.discourse-cdn.com/v4/letter/e/8797f3/32.png) [@eldan](https://forum.shopware.com/u/eldan)\
**Post date:** [13. Dezember 2016 um 11:18 UTC](https://forum.shopware.com/t/checkout-erweiterung-um-inputfeld-versand-per-e-mail/42128/10 "2016-12-13T11:18:43Z")

</div>

> [@sschreier schrieb:](https://forum.shopware.com/profile/18157/sschreier "sschreier")
> 
> > [@eldan schrieb:](https://forum.shopware.com/profile/20128/eldan "eldan")
> > 
> > Hallo Sebastian,
> > 
> > auch hier nochmal vielen Dank.
> > 
> > Es hängt nun unter dem Block {frontend\_checkout\_confirm\_confirm\_table\_actions} befüllt aber das Input-Feld nicht.&nbsp;  
> > Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?
> > 
> > // function to get cookie information with additional getter and setter  
> > Cookie = {  
> > get: function(cname) {  
> > var name = cname + „=“;  
> > var ca = document.cookie.split(';');  
> > for(var i = 0; i \<ca.length; i++) {  
> > var c = ca[i];  
> > while (c.charAt(0)==' ') {  
> > c = c.substring(1);  
> > }  
> > if (c.indexOf(name) == 0) {  
> > return c.substring(name.length,c.length);  
> > }  
> > }  
> > return „“;  
> > },  
> > set: function(name, value) {  
> > document.cookie = name + „=“ + value;  
> > }  
> > };
> > 
> > Cookie.set(„VPID“, „78234234234“); // test data  
> > document.getElementById(„attribute\_orderfield1\_value“).value = Cookie.get(„VPID“); // test  
> > // check if we are in the confirm view - not really smooth yet…  
> > /_if(document.getElementsByClassName(„is–act-confirm“).length \> 0 ) {  
> > if(Cookie.get(„VPID“) != null) { // if the partner-id is not empty set the partner-id into the comment field  
> > document.getElementById(„attribute\_orderfield1\_value“).value = "Partner-ID: " + Cookie.get(„VPID“);  
> > }_/  
> > }
> > 
> > VG
> 
> Hallo,
> 
> euer Code wird ja aber sofort ausgeführt. Habt ihr es einmal mit der oben genannten onLoad - Prüfung probiert? Oder es mal testweise mit einer JavaScript-Zeitverzögerung probiert (vielleicht wird das Feld ja erst nach eurem Code dargestellt)?
> 
> Beste Grüße
> 
> Sebastian

Vielen vielen Dank, das brachte das gewünschte Ergebnis.
