Zum Inhalt springen

Formhandler: GET-Variable mit übermitteln

Erstellt am 26. April 2010 · 6 Antworten · letzte Antwort am 17. Juni 2010

Tags: Frage

Aaron K.​ ·

Hallo,

ich möchte eine GET-Variable "record" aus der URL mit ins Formular integrieren. Dem Empfänger des Formulars soll so ersichtlich sein, über welche Seite der Benutzer auf das Kontaktformular gekommen ist. Mein Ansatz lautet wie folgt:

<input type="hidden" name="formhandler[record]" id="record" value="###value_record###"/>
plugin.Tx_Formhandler.settings.predef.mailform {
  markers {
    record = TEXT
    record.data = GPVar:record
  }
}

Leider wird die Variable nicht übernommen. Hat jemand einen Tipp für mich?

Ich bin mir im Übrigen nicht sicher, ob mein Formular tatsächlich mit "mailform" angesprochen wird. Wo kann ich den tatsächlichen Namen herausfinden?

Danke und Gruß,
Aaron

birgitr ·
plugin.Tx_Formhandler.settings.predef.myformname {  
    preProcessors {
	  1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
   	  1.config {
		1 { 
			record {
				defaultValue.data = GPvar:record
				defaultValue.noTrimWrap = |Text vor dem Wert: | Text hinter dem Wert|
			}

		}

   	   } // end 1.config

 	} // end preProcessors  
}
Aaron K.​ ·

Hallo,

Danke für Deine Antwort. Leider gelingt es immer noch nicht.

1.) Wo muss die Formular-Konfiguration vorgenommen werden? (Setup, Konstanten, ...?)

2.) Wo kann ich nachsehen, wie mein Formular heißt? (Du schreibst ja "myformname", so wird mein's vermutlich nicht heißen)

Danke und Gruß,
Aaron

Aaron K.​ ·

So, ich habe den Fehler nun endlich gefunden. Der Name des Formulars ist in meinem Fall "default", da ich das Default-Formular als Vorlage verwende.

Den Marker muss ich über ###value_record### ansprechen und nicht über ###record###.

Wenn ich das ganze dann im Setup-Teil des Templates unterbringe, klappt es 🙂

chrisk ·
Aaron K. schrieb

So, ich habe den Fehler nun endlich gefunden. Der Name des Formulars ist in meinem Fall "default", da ich das Default-Formular als Vorlage verwende.

Den Marker muss ich über ###value_record### ansprechen und nicht über ###record###.

Wenn ich das ganze dann im Setup-Teil des Templates unterbringe, klappt es 🙂

Servus,

und wie übergibst Du das dann?

Möchte ebenfalls erfahren von welcher Seite der Benutzer gekommen ist. (Von welchem Stellenangebot)
Noch besser... Ich würde gerne den Titel der vorherigen Seite (von der der Benutzer kommt) im Formular verwenden können (für Betreff oder Formularüberschrift).

Irgendwie steh ich total auf dem Schlauch :-/

Aaron K.​ ·

Hallo Chris,

in meinem Fall ist auf der Ursprungsseite eine Extension eingebunden, die entsprechende Links erzeugt (d.h. mit GET-Variable "record", die die ID des Datensatzes beinhaltet).

Einen konkreten Tipp für Dein Anliegen habe ich jetzt leider. Vielleicht weiß ja jemand anders weiter.

Gruß,
Aaron

chrisk ·
Aaron K. schrieb

Hallo Chris,

in meinem Fall ist auf der Ursprungsseite eine Extension eingebunden, die entsprechende Links erzeugt (d.h. mit GET-Variable "record", die die ID des Datensatzes beinhaltet).

Einen konkreten Tipp für Dein Anliegen habe ich jetzt leider. Vielleicht weiß ja jemand anders weiter.

Gruß,
Aaron

Guten Morgen,

hm schade... ich hab inzwischen irgendwie an sowas gedacht:

lib.stelle = TEXT
lib.stelle {
  data = {leveltitle:-1}
  insertdata =1
  dataWrap = <input type="hidden" name="stelle" value="|" />
}

plugin.Tx_Formhandler.settings.predef.bewerbung.markers.stelle < lib.stelle

Aber irgendwie komm ich nicht weiter, es wird nichts angezeigt.

UPDATE:
Neuer Tag, neues Glück... damit sieht es sehr gut aus:

lib.stellen = TEXT
lib.stellen {
  data = leveltitle:-2
  insertdata =1
  dataWrap = <input type="hidden" name="stellen" value="|" />
}

plugin.Tx_Formhandler.settings.predef.bewerbung.markers.stellen < lib.stellen