Zum Inhalt springen

Formhandler: Finisher wird nur bei einer Condition ausgeführt

Erstellt am 28. August 2013 · 2 Antworten · letzte Antwort am 28. August 2013

Tags: Formhandler, Frage

Sohn der Sonne ·

Hallo an alle,

ich habe wie gesagt ein Problem mit dem Formhandler:

Mein Template sieht so aus das ich nach der ersten Frage 3 "Wege" habe: A, B, und C. Je nach dem welche Auswahl man trifft werden nurnoch Formulare dieser Wege angezeigt:

<!-- ###TEMPLATE_FORM1### begin -->
Content
<!-- ###TEMPLATE_FORM1### end -->

und dann halt die einzelnen Wege ...

<!-- ###TEMPLATE_FORM1_A### begin -->
<!-- ###TEMPLATE_FORM1_A### end -->

etc. Jeder Weg hat unterschiedlich viele Steps.

Leider funktioniert mein Finisher nur in Weg A.

Hier mein TS:

plugin.Tx_Formhandler.settings {

  #Global settings valid for all steps
  debug = 1    
  templateFile = fileadmin/templates/formhandler/level1/level1.html
  
  	1 {
  		#Conditions Step 1
  		
	  	if { 
	  		1.conditions.OR1.AND1 = weg = a
				1.isTrue.2 { 
					templateSuffix = _A
				}
			
			2.conditions.OR2.AND1 = weg = b
				2.isTrue {
					2 { 
						templateSuffix = _B
					}
					3 { 
						templateSuffix = _B
					}
					4 { 
						templateSuffix = _B
					}
					5 { 
						templateSuffix = 
					}
				}
				
			
			3.conditions.OR3.AND1 = weg = c
				3.isTrue.2 { 
					templateSuffix = _C
				} 
 # WENN ICH DIE WEITEREN isTrue EINTRÄGE HIER WEGLASSE WIRD DER FINISHER EINEN STEP ZU FRÜH AUSGEFÜHRT
				3.isTrue.3 { 
					templateSuffix = _C
				}  
				3.isTrue.4 { 
					templateSuffix = _C
				}  
				3.isTrue.5 { 
					templateSuffix = _C
				}  
				3.isTrue.6 { 
					templateSuffix = _C
					# LVL 2 erreicht
					{$usergroup} = 2
				}  
		}
  }
  
  2 {
	# Conditions Step 2
	if { 
		1.conditions.OR1.AND1 = aSwitch1 = ja
		1.conditions.OR1.AND2 = weg = a
		1.isTrue.3 { 
			templateSuffix = _A_ja
		}
		
		2.conditions.OR2.AND1 = aSwitch1 = nein
		2.conditions.OR2.AND2 = weg = a
		2.isTrue.3 { 
			templateSuffix = _A_nein
		}
	}
  }
  
  3 {
  	# Conditions Step 3
	if { 
		1.conditions.OR1.AND1 = wieweitistdeineidee = g 
		# 4 weil Step 4
		1.isTrue.4 { 
			# LVL 2 erreicht
			{$usergroup} = 2
		}
  }
  
  
  finishers {
		1.class = Tx_Formhandler_Finisher_DB
		1.config {
			table = fe_users
			fields {
				pid.ifIsEmpty = 53
				username.mapping = name
				password.mapping = email
				usergroup.ifIsEmpty = {$usergroup}
			}
		}
	}
}

Wie man im TS sieht habe ich an einer Stelle kommentiert. Wenn ich da die einzelnen weiteren isTrues weglasse löst das Formular bereits vor Step4 aus ... ansonsten garnicht ...

Hat jemand eine Idee?