Ich versuche gerade, mehrere Finisher für ein Formular auszuführen.
Blöderweise wird aber immer nur der erste Finisher ausgeführt...alle anderen werden ignoriert. Ich bekomme für die anderen Finisher auch keine Fehlermeldungen, wenn debugging aktiviert ist; es ist mehr oder weniger so, als wenn die gar nicht definiert wären.
Hier meine Finisher Konfiguration:
finishers {
# E-Mail sichern
1.class = Tx_Formhandler_Finisher_DB
1.config {
table = tt_content
key = uid
fields {
header {
mapping = email
}
bodytext {
mapping = hiddenValue1
}
pid = 66
subheader.special = sub_datetime
crdate.special = sub_tstamp
tstamp.special = sub_tstamp
imagecaption.special = ip
}
}
}
# E-Mail versenden
2.class = Tx_Formhandler_Finisher_Mail
2.config {
limitMailsToUser = 5
admin {
to_email = user@domain.com
to_name = Name
subject = Website
sender_email = user@domain.com
sender_name = foo.at
replyto_email = user@domain.com
replyto_name = bar.at
htmlEmailAsAttachment = 0
}
}
# fe_users updaten
3.class = Tx_Formhandler_Finisher_DB
3.config {
table = fe_users
key = uid
updateInsteadOfInsert = 1
fields {
tx_psextendfeusers_hasbought {
mapping = hiddenValue2
}
pid = 23
}
}
}
# Eigenen Finisher ausfuehren
4.class = Tx_Formhandler_Finisher_updatePsProducts
4.config {
table = tx_owntable
foo = bar
pid = 32
}
}
# Bestaetigung
5.class = Tx_Formhandler_Finisher_SubmittedOK
5.config {
returns = 1
}
}
Füge ich z.B. die Konfiguration aus "fe_users updaten" in "E-Mail sichern" (also die erste Finisher Konfiguration) ein, so wird der Update-Befehl einwandfrei ausgeführt. Befindet sich "fe_users updaten" aber an einer anderen Stelle bei den Finishern, so wird kein Updaten ausgeführt.
Was mache ich hier falsch?