Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 15. März 2013 11:54

Exceeder
hat von CMS/ms gehört
Registriert: 15. März 2013
Beiträge: 3

FormBuilder Formularfelder vorausgefüllt via GET-Parameter

Hallo,

ich suche nach einer Möglichkeit Formularfelder via Übergabe über GET-Parameter an bestimmten Stellen automatisch vorauszufüllen. Konkret geht es um die Übergabe von z.B. einer Vertragsnummer.

Ich habe nun seit mehreren Stunden rumprobiert, finde aber keine zufriedenstellende Lösung. Das ganze sollte irgendwie ohne JavaScript funktionieren. Ich habe mir bereits benutzerdefinierte Tags angelegt, mit welchen man an die GET-Parameter dran kommt:

if(isset($params['var']) && $params['var'] != '')
  echo isset($_GET[$params['var']]) ? $_GET[$params['var']] : '';

Ein Testformular ist schnell erzeugt: Textfeld anlegen und z.B. senden an E-Mail Empfänger. Beim Textfeld kann man unter "Erweiterte Einstellungen" unter "Standardwert für das Feld:" einen Wert eintragen. Leider wird das aber nicht mit smarty evaluiert.

Ist das irgendwie machbar, wenn ja wie?

Die URL sollte dann z.B. so aussehen:

http://domain.de/seitenalias/contracts_number=V-123456789-1

Der Wert von "contracts_number" landet dann im Formular (ich habe die Separatoren auf / und nicht auf & gestellt und habe mod_rewrite). Der Wert wird über mein benutzerdefiniertes Tag problemlos gefunden. Nur ich bekomme ihn nicht in das Formular.

Beitrag geändert von Exceeder (15. März 2013 11:55)

Offline

#2 15. März 2013 13:02

czarnowski
kennt CMS/ms
Registriert: 18. Oktober 2012
Beiträge: 457

Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter

Die globalen Variable _get kann man mit Smarty direkt nutzen - die werden von Smarty selbst einfach durchgeleitet.

http://www.smarty.net/docs/en/language. … smarty.tpl

Allerdings - die direkte Nutzung solcher Variable ohne Filterung ist gefährlich da das das typische Einfallstor für Schadcode ist.

Offline

#3 15. März 2013 13:19

Exceeder
hat von CMS/ms gehört
Registriert: 15. März 2013
Beiträge: 3

Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter

Hallo,

danke für den Link. Leider hilft der aber noch nicht wirklich weiter. GET-Parameter sind nur dann ein Einfallstor, wenn sie ungefiltert in die Webseite gelangen. Deswegen mein benutzerdefinierter Tag. Da kann ich entsprechende Prüfungen durchführen und auch escapen. Aber das Tag ist auch nicht das Problem. Die Frage ist, wie ich den Wert in den FormBuilder bekomme.

Mit JavaScript geht das irgendwie, aber das ganze soll auch ohne JS funktionieren.

Offline

#4 15. März 2013 13:31

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter

das ist sehr simpel.
{FormBuilder form='sample_form' value_FIELDNAME=$smarty.get.parameter}
oder
{FormBuilder form='sample_form' value_fldNUMBER=$smarty.get.parameter}

Anwendung:

Beitrag geändert von nicmare (15. März 2013 13:32)

Offline

#5 15. März 2013 13:48

Exceeder
hat von CMS/ms gehört
Registriert: 15. März 2013
Beiträge: 3

Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter

Hallo,

na da soll mal einer drauf kommen... Funktioniert aber, danke. smile

Beitrag geändert von Exceeder (15. März 2013 13:48)

Offline

#6 15. März 2013 14:07

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: FormBuilder Formularfelder vorausgefüllt via GET-Parameter

steht doch in der hilfe vom modul! smile

Offline