[TYPO3-german] Formhandler 1.6.2 TYPO3 6.1.7 Übernahmen Felder und Checkboxen auf Folgeseiten

berfh at gmx.de berfh at gmx.de
Fri Feb 21 12:06:50 CET 2014


Liebe TYPO3’ler,
ich habe folgende Anforderung für ein Formhandler Formular und bräuchte Hilfe beim Schritt 3.
1.	auf Seite 1 (Step1):
Es existieren mehrere Eingabefelder, die vom Benutzer ausgefüllt werden können (es müssen aber nicht alle Felder ausgefüllt werden).
Dazu habe ich folgende Felder verwendet:
<span class="option">A)&nbsp;</span>
<input class="option" type="text" name="phd[EOIS101]" value="###value_EOIS101###"  /><br />
<span class="option">B)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS102]" value="###value_EOIS102###"  /><br />
<span class="option">C)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS103]" value="###value_EOIS103###"  /><br />
<span class="option">D)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS104]" value="###value_EOIS104###"  /><br />
In die Datenbank werden bisher alle Texteingaben
 
2.	auf Seite 2 (Step2):
Es sollen mit Checkboxen vorgegebene Felder ausgewählt werden. Dazu verwende ich bisher folgende Felder:
<input type="checkbox" name="phd[EOIN201]" value="1" ###checked_EOIN201_1### />          <label >###LLL:EOIN201###</label><br />
<input type="checkbox" name="phd[EOIN202]" value="1" ###checked_EOIN202_1### />          <label >###LLL:EOIN202###</label><br />
<input type="checkbox" name="phd[EOIN203]" value="1" ###checked_EOIN203_1### />          <label >###LLL:EOIN203###</label><br />
<input type="checkbox" name="phd[EOIN204]" value="1" ###checked_EOIN204_1### />          <label >###LLL:EOIN204###</label><br />
 
Die bisherigen Schritte werden durch den Finisher richtig in die Datenbank geschrieben:
finishers {
1 {
class = Finisher_DB
config {
table = tx_phd
fields {
EOIS101.mapping = EOIS101
EOIS102.mapping = EOIS102
EOIS103.mapping = EOIS103
EOIS104.mapping = EOIS104
 
EOIN201.mapping = EOIN201
EOIN201.ifIsEmpty = 0
EOIN202.mapping = EOIN202
EOIN202.ifIsEmpty = 0
EOIN203.mapping = EOIN203
EOIN203.ifIsEmpty = 0
EOIN204.mapping = EOIN204
EOIN204.ifIsEmpty = 0
}}}}
 
3.	auf Seite 3 (Step3)
Das Problem liegt auf Seite 3. Hier sollen alle „ausgefüllten“ (keine leeren) Felder aus Schritt 1 sowie die alle Felder aus Schritt 2 inkl. Selektierung (checked oder unchecked) nochmal angezeigt werden.
Das HTML sieht bisher so aus:
<span class="option">A)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS105]" value="###value_EOIS105###" readonly="readonly"  /><br />
<span class="option">B)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS106]" value="###value_EOIS106###" readonly="readonly" /><br />
<span class="option">C)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS107]" value="###value_EOIS107###" readonly="readonly" /><br />
<span class="option">D)&nbsp;</span>         
<input class="option" type="text" name="phd[EOIS108]" value="###value_EOIS108###" readonly="readonly" /><br />
<input type="checkbox" name="phd[EOIN205]" value="" ###checked_EOIN205_1### disabled=disabled />       <label >###LLL:EOIN201###</label><br />
<input type="checkbox" name="phd[EOIN206]" value="" ###checked_EOIN206_1### disabled=disabled />       <label >###LLL:EOIN202###</label><br />
<input type="checkbox" name="phd[EOIN207]" value="" ###checked_EOIN207_1### disabled=disabled />       <label >###LLL:EOIN203###</label><br />
<input type="checkbox" name="phd[EOIN208]" value="" ###checked_EOIN208_1### disabled=disabled />       <label >###LLL:EOIN204###</label><br />
 
Im Finisher stehen zusätzlich noch die Felder für die DB:
EOIS105 - EOIS108 und EOIN205 - EOIN208
 
Zur Übernahmen der Daten aus Step 2 und 3 habe ich den preProcessors versucht
preProcessors {
1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues
1.config {
3 {
EOIS105.defaultValue = TEXT
EOIS105.defaultValue.data = GP:phd|EOIS101
EOIS106.defaultValue = TEXT
EOIS106.defaultValue.data = GP:phd|EOIS102
EOIS107.defaultValue = TEXT
EOIS107.defaultValue.data = GP:phd|EOIS103
EOIS108.defaultValue = TEXT
EOIS108.defaultValue.data = GP:phd|EOIS104
EOIN205.defaultValue = TEXT
EOIN205.defaultValue.data = GP:phd|EOIN201
EOIN206.defaultValue = TEXT
EOIN206.defaultValue.data = GP:phd|EOIN202
EOIN207.defaultValue = TEXT
EOIN207.defaultValue.data = GP:phd|EOIN203
EOIN208.defaultValue = TEXT
EOIN208.defaultValue.data = GP:phd|EOIN204
}}}
 
Oder aber auch die Vorbelegung mit Markern:
markers {
EOIS105.defaultValue = TEXT
EOIS105.defaultValue.data = GP:phd|EOIS101
…
EOIS108.defaultValue = TEXT
EOIS108.defaultValue.data = GP:phd|EOIS104
EOIN205.defaultValue = TEXT
EOIN205.defaultValue.data = GP:phd|EOIN201
…
EOIN208.defaultValue = TEXT
EOIN208.defaultValue.data = GP:phd|EOIN204
 
Leider liefern weder der PreProcessor noch die Marker die Daten aus Step 1 und Step 2 auf die Seite 3 aus. Wie kann ich die Daten übernehmen und noch die Bedingung setzten, dass nur ausgefüllte Felder aus Step 1 übernommen werden?
 
Vielen Dank für jede Hilfe
LG und ein schönen Wochenabschluss
Gunther


More information about the TYPO3-german mailing list