Zum Inhalt springen

Formhandler - Checkbox Array mit dem PreProcessor ausfüllen

Erstellt am 19. September 2009 · 3 Antworten · letzte Antwort am 16. Juni 2011

Tags: Frage

miggy ·

In meinem Formular soll der Besucher angeben können, ob er via E-Mail und/oder Briefpost kontaktiert werden will. Das HTML Template beinhaltet u.A. zwei Checkboxen:

<input type="checkbox" name="formhandler[korrespondenz][]" value="email" ###checked_korrespondenz_email###/>
<input type="checkbox" name="formhandler[korrespondenz][]" value="smail" ###checked_korrespondenz_smail###/>

Das folgende TypoScript sorgt dafür, dass standartmässig die Checkbox "E-Mail" angewählt ist:

plugin.Tx_Formhandler.settings.predef.myForm.preProcessors {
  1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
  1.config {
    1 {
      korrespondenz.defaultValue = email
    }
  }
}

Wie kann ich nun aber dafür sorgen, dass beide Checkboxen standartmässig angewählt sind?

gmf ·

Das Setting defaultValue kann auch ein cObject sein. D.h. du könntest es über ein USER-Objekt lösen und in der userFunc ein Array mit mehreren Werten zurückliefern.

Eventuell gehts auch mit einem TEXT-Objekt.

Reinhard

jesuspresley ·

Ich habe es selbst auch mal probiert...:

1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
		1.config {
	        1 {
	           partner_childs.defaultValue = 1
	        }
	}

funktioniert.

1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
		1.config {
	        1 {
	           partner_childs.defaultValue = 1,2,3
	           partner_childs.defaultValue.separator = ,
	        }
	}

oder:

1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
		1.config {
	        1 {
	           partner_childs.defaultValue = 1,2,3
	           partner_childs.separator = ,
	        }
	}

funktioniert beides nicht.

Das mit cObject/userFunc scheint mir ein bisschen zu komplex. Hat jemand bereits einen einfacheren Weg gefunden?

jesuspresley ·

Jetzt hab ich's verstanden.
Stand ein bisschen auf dem Schlauch.

So geht's:

1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
1.config {
	        1 {
	        	partner_childs.defaultValue = TEXT
	        	partner_childs.defaultValue.value = 1,2,3
	        	partner_childs.defaultValue.separator = ,
	        }
	}