# Frage zu Formularfeldern - automatisch ausfüllen

**URL:** https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007
**Category:** Shopware 3.5
**Tags:** programming
**Created:** [11. Dezember 2010 um 15:24 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007 "2010-12-11T15:24:52Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [11. Dezember 2010 um 15:24 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/1 "2010-12-11T15:24:52Z")

</div>

Hallo, ich habe eine Frage zur Funktion im Formularfeld. Beim Anfrage Formular wird z.B. automatisch der aktuell aufgerufene Artikel im Anfrage Feld eingefügt. Wie und wo passiert das, bzw. wie kann man das für ein eigenes Formular anwenden. Für Infos bedanke ich mich schon mal. Grüße Frank

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [11. Dezember 2010 um 15:31 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/2 "2010-12-11T15:31:19Z")

</div>

Müsstest du mal im Controller form.php schauen - dort wird das definiert - ich denke darauf kannst du aufbauen!

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [11. Dezember 2010 um 17:32 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/3 "2010-12-11T17:32:50Z")

</div>

Hmmm, hab mich jetzt mal durch diverse form.php gewühlt, nur scheine ich nicht die richtige zu finden.

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [13. Dezember 2010 um 08:39 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/4 "2010-12-13T08:39:40Z")

</div>

Hat hier jemand nochnen kleinen Anstubser für mich? :shopware:

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [13. Dezember 2010 um 08:51 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/5 "2010-12-13T08:51:47Z")

</div>

Hey, das passiert in den Zeilen 98 bis 118 in der Controllers/Frontend/Forms.php - gesteuert wird das über den Get-Parameter sInquiry - damit man dir konkreter weiterhelfen kann, müsstest du genauer beschreiben, was du dort vor hast…

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [13. Dezember 2010 um 09:00 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/6 "2010-12-13T09:00:07Z")

</div>

Danke Stefan, nach form[color=red]s[/color].php hatte ich nicht gesucht, du hast mir sehr weiter geholfen!

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [13. Dezember 2010 um 17:14 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/7 "2010-12-13T17:14:22Z")

</div>

So, ich denke ich bin schon ein ganzes Stück weiter, Hintergrund der Sache ist ein eigenes Formular, welches bei den Artikeldetails eingebunden werden soll. Dazu möchte ich aber das Formular, ähnlich dem Anfrage-Formular, schon mit einem Text füllen. Das Ganze wird ja in diversen Snippets gespeichert, welche ich auch angelegt habe. Das Formular ist auch angelegt. Folgender Code in der Forms.php müßte das ja entsprechend ausgeben: ` public function indexAction() { if (!empty($this-\>Request()-\>Submit)){ $this-\>checkFields(); } if (empty($this-\>Request()-\>Submit) || count($this-\>Errors)){ foreach ($this-\>FormElements as $element) { if ($element["name"]=="inquiry" && !empty($this-\>Request()-\>sInquiry)){ switch ( $this-\>Request()-\>sInquiry){ case "basket": $text = Shopware()-\>System()-\>sCONFIG["sSnippets"]["sINQUIRYTEXTBASKET"]; $getBasket = Shopware()-\>Modules()-\>Basket()-\>sGetBasket(); $text = ''; foreach ($getBasket["content"] as $basketRow){ if (empty($basketRow["modus"])){ $text.= "\n{$basketRow["quantity"]} x {$basketRow["articlename"]} ({$basketRow["ordernumber"]}) - {$basketRow["price"]} ".Shopware()-\>System()-\>sCurrency["currency"]; } } if (!empty($text)) $element["value"] = $text; break; case "detail": if (!empty($this-\>Request()-\>sOrdernumber)){ $getName = Shopware()-\>Modules()-\>Articles()-\>sGetArticleNameByOrderNumber($this-\>Request()-\>sOrdernumber); $text = Shopware()-\>System()-\>sCONFIG["sSnippets"]["sINQUIRYTEXTARTICLE"]; $text .= " ".$getName; $element["value"] = $text; } break; } } $Fields[$element['id']] = Shopware()-\>Modules()-\>CmsSupport()-\>create\_input\_element($element,$this-\>Post[$element['id']]); $Labels[$element['id']] = Shopware()-\>Modules()-\>CmsSupport()-\>create\_label\_element($element); } } $this-\>View()-\>sSupport = Shopware()-\>Modules()-\>CmsSupport()-\>sSUPPORT; $this-\>View()-\>sSupport = array\_merge($this-\>View()-\>sSupport,array("sErrors"=\>$this-\>Errors,"sElements"=\>$this-\>FormElements,"sFields"=\>$Fields,"sLabels"=\>$Labels)); $this-\>View()-\>rand = md5(uniqid(rand())); if (!count($this-\>Errors) && !empty($this-\>Request()-\>Submit)){ $this-\>commitForm(); $this-\>View()-\>sSupport = array\_merge($this-\>View()-\>sSupport,array("sElements"=\>"")); } } public function commitForm(){ $mail = Shopware()-\>System()-\>sMailer; $template = Shopware()-\>Config()-\>Templates-\>sSUPPORT; $mail-\>IsHTML($template['ishtml']); ` Hier ist jetzt die Stelle, an der ich nicht weiter komme. Das Formular ist verlinkt, nur das Ausfüllen klappt nicht. Ich müßte für meine Zwecke diesen Abschnitt mit meinen Variablen ergänzen: if ($element[“name”]=="[color=red]inquiry[/color]" && !empty($this-\>Request()-\>s[color=red]Inquiry[/color])){ switch ( $this-\>Request()-\>s[color=red]Inquiry[/color]){ if (!empty($text)) $element[“value”] = $text; break; case “[color=red]detail[/color]”: if (!empty($this-\>Request()-\>sOrdernumber)){ $getName = Shopware()-\>Modules()-\>Articles()-\>sGetArticleNameByOrderNumber($this-\>Request()-\>sOrdernumber); $text = Shopware()-\>System()-\>sCONFIG[“sSnippets”][“s[color=red]INQUIRYTEXTARTICLE[/color]”]; $text .= " ".$getName; $element[“value”] = $text; } break; Wobei hier inquiry ersetzt sowie case und das Snippets mit meinen Werten gefüllt werden müssen. Ich bekomme das allerdings nicht in diese if Abfage integriert, ohne Fehlermeldung im Browser in der Zeile ` public function commitForm(){`

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [14. Dezember 2010 um 06:41 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/8 "2010-12-14T06:41:30Z")

</div>

Dann hast du wahrscheinlich ein } vergessen oder so - Unterhalb des letzten „breaks;“ einfügen: ` case "myText": if (!empty($this-\>Request()-\>sOrdernumber)){ $getName = Shopware()-\>Modules()-\>Articles()-\>sGetArticleNameByOrderNumber($this-\>Request()-\>sOrdernumber); $text = "Mein Text: Blabla Mein Artikel ".$getName; $element["value"] = $text; } break; ` Dann muss im Formular ein Feld mit der Bezeichnung inquiry angelegt sein - aufrufen musst du das Formular dann wie folgt: [http://www.shop.de/shopware.php/Forms/I … s\_Artikels](http://www.shop.de/shopware.php/Forms/Index/sInquiry/myText/sFid/FORMULAR%5C_ID/sOrdernumber/Bestellnummer%5C_Des%5C_Artikels) Oder halt direkt im Template {url controller=forms sInquiry=myText sFid=ID sOrdernumber=$sArticle.ordernumber}

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [14. Dezember 2010 um 08:12 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/9 "2010-12-14T08:12:19Z")

</div>

Vielen Dank Stefan! Hast du noch einen Tip wie ich nach dem Artikel weiten Text integrieren kann? Im Link zum Formular selbst geht das mit einem 2. sInquiry ja nicht. Grüße Frank

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [14. Dezember 2010 um 08:26 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/10 "2010-12-14T08:26:25Z")

</div>

Hmm? $text = "Mein Text: Blabla Mein Artikel “.$getName; $text .= " Noch mehr Text”;

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [14. Dezember 2010 um 08:53 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/11 "2010-12-14T08:53:11Z")

</div>

Hehe, ja, das ist mir klar, aber ich möchte gern nach der Artikelnummer oder ähnlichem noch Text anfügen.

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [14. Dezember 2010 um 08:56 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/12 "2010-12-14T08:56:19Z")

</div>

Text, den du über die URL übergibst oder wie? Bitte etwas umfangreicher beschreiben…

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [14. Dezember 2010 um 09:05 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/13 "2010-12-14T09:05:11Z")

</div>

Ich möchte mal als Beispiel folgendes erreichen: Im Textfeld soll z.B. folgendes stehen: Bitte erweitern sie den “Artikel Bezeichnung” um das notwendige Zubehör, welches zum Einbau benötigt wird. Den Text vor dem Artikel lege ich ja mit meinem Snippet fest, dann kommt der Artikel als solches, wird ja auch im Link zum Formular eingebunden, nur jetzt fehlt der 2. Snippet nach dem Artikel.

---

<div class="post-metadata">

### Author: ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)
#### Post date: [14. Dezember 2010 um 09:14 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/14 "2010-12-14T09:14:11Z")

</div>

Aber dann ist das Vorgehen doch genau wie von mir beschrieben? Bevor du den Text dem Element zuweißt: $element[„value“] = $text; Hängst du einfach dein Snippet hinten dran? $text = „BAUSTEIN1“.$getName.„BAUSTEIN2“;

---

<div class="post-metadata">

### Author: ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)
#### Post date: [14. Dezember 2010 um 12:02 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/15 "2010-12-14T12:02:10Z")

</div>

Jetzt hab ich es, man kann hinter das `$text .= " ".$getName. Shopware()-\>System()-\>sCONFIG["sSnippets"]["sMeinSnippet2"];` anfügen. Das ist dann der Text hinter dem Artikel. Und in dem Abschnitt darüber `$text = Shopware()-\>System()-\>sCONFIG["sSnippets"]["sMeinSnippet1"];` wird der Text vor dem Artikel gesetzt

---

<div class="post-metadata">

### Author: ![billiboy](https://avatars.discourse-cdn.com/v4/letter/b/e8c25b/32.png) [@billiboy](https://forum.shopware.com/u/billiboy)
#### Post date: [15. April 2011 um 17:51 UTC](https://forum.shopware.com/t/frage-zu-formularfeldern-automatisch-ausfullen/1007/16 "2011-04-15T17:51:40Z")

</div>

Ich hab dazu mal noch 2 Fragen. 1. Könnte man auch die URL des Artikels mit in das Textfeld übergeben? 2. Kann man auch an die Überschrift des Textfeldes einen Wert übergeben?
