25. 08. 2011, 17:30

Einen wunderschönen guten Tag zusammen!

Folgende Problemstellung hat sich mir aufgedrängt, die ich auch nach längerem Probieren und ausdauernder Suche nicht niederringen konnte:

1.) Mit der EXT formhandler wird ein EMailformular erzeugt, mit dessen Hilfe ein Protestbrief verschickt werden soll.
2.) Die Namen und EMail-Adressen kommen dabei aus der tt_address.
3.) Im Formular wird eine Selectbox erzeugt, und man kann hier den gewünschten Empfänger auswählen.

  1. ...
  2.  
  3. <div class="csc-mailform-field">
  4. ###error_recipient###
  5. <label for="recipient">###LLL:recipient### ###required_recipient###</label>
  6. <select name="formhandler[recipient]" id="recipient" size="1">
  7. <option value="">- kein Empfänger gewählt -</option>
  8. ###options_recipient###
  9. </select>
  10. </div>
  11.  
  12. ...

Soweit so gut! Aber jetzt:

4.) Ich hätte furchtbar gerne abhänig vom Geschlecht (tt_address.gender) ein "Sehr geehrte/r" in den EMails drinne stehen. Dafür kann man ja einen Marker erzeugen. Leider schaffe ich es nicht, diesen richtig zu befüllen. Hum ...
5.) Ich hab' das mal mit diesem TS probiert. (Der Marker wird gegen Ende erzeugt!)

  1. plugin.Tx_Formhandler.settings.predef.default {
  2.  
  3. # Der Name der später auch unter „Vordefinierte Formulare“ zu finden ist
  4. name = Protestbrief
  5. # Der Pfad für die Sprach & Tempalte Datei
  6. langFile = fileadmin/templates/formhandler/formhandler.xml
  7. templateFile = fileadmin/templates/formhandler/formhandler.html
  8.  
  9.  
  10. # GENERAL CONFIGURATION
  11. addErrorAnchors = 1
  12. formValuesPrefix = formhandler
  13.  
  14. # ERRORS LAYOUT
  15. singleErrorTemplate {
  16. totalWrap = <div>|</div>
  17. singleWrap = <span class="error">|</span><br />
  18. }
  19.  
  20. errorListTemplate {
  21. totalWrap = <ul>|</ul>
  22. singleWrap = <li class="error">|</li>
  23. }
  24.  
  25. validators {
  26. 1.class = Tx_Formhandler_Validator_Default
  27. 1.config {
  28. fieldConf {
  29. recipient.errorCheck.1 = required
  30. recipient.errorCheck.2 = email
  31. }
  32. }
  33. }
  34.  
  35. finishers {
  36. 1.class = Tx_Formhandler_Finisher_Mail
  37. 1.config {
  38. limitMailsToUser = 5
  39. admin {
  40. to_email = TEXT
  41. to_email.data = GPvar:formhandler|recipient
  42. subject = TEXT
  43. subject.data = LLL:fileadmin/templates/formhandler/formhandler.xml:mail_subject_admin
  44. }
  45. user {
  46. to_email = TEXT
  47. to_email.data = GPvar:formhandler|email
  48. subject = TEXT
  49. subject.data = LLL:fileadmin/templates/formhandler/formhandler.xml:mail_subject_user
  50. }
  51. }
  52. 2.class = Tx_Formhandler_Finisher_SubmittedOK
  53. 2.config {
  54. returns = 1
  55. }
  56. }
  57.  
  58. markers {
  59. options_recipient = CONTENT
  60. options_recipient {
  61. table = tt_address
  62. #pid where feusers are stored
  63. pidInList = 52
  64. orderBy = name
  65. selectFields = email, name
  66. #contact form user group
  67. where = 1 IN (tt_address.addressgroup)
  68. #max = 10
  69. }
  70. renderObj = COA
  71. renderObj {
  72. #value
  73. 10.wrap = <option value="|"
  74. 10 = TEXT
  75. 10.field = email
  76.  
  77. #selected
  78. 12.noTrimWrap = | !!|>|
  79. 12 = TEXT
  80. 12.field = email
  81.  
  82. #label
  83. 13 = TEXT
  84. 13.value = {field:name} ({field:email})</option>
  85. 13.insertData = 1
  86. }
  87. }
  88.  
  89. backlink = TEXT
  90. backlink {
  91. value = Startseite
  92. typolink.parameter = 22
  93. }
  94.  
  95. gender = CONTENT
  96. gender {
  97. table = tt_address
  98. select {
  99. pidInList = 52
  100. selectField = email
  101. andWhere.data = GPvar:formhandler|recipient
  102. }
  103. renderObj = COA
  104. renderObj {
  105. 10 = TEXT
  106. 10 {
  107. value = Sehr geehrte Frau
  108. if.value = f
  109. if.equals.field = gender
  110. }
  111. 20 = TEXT
  112. 20 {
  113. value = Sehr geehrter Herr
  114. if.value = m
  115. if.equals.field = gender
  116. }
  117. }
  118. }
  119. }
  120. }

6.) Irgend etwas funktioniert auch, denn ich bekomme jetzt so viele "sehr geehrte/r" wie es tt_address Datensätze (pidInList = 52) gibt. Ein mal "sehr geehrte/r" würde mir völlig reichen! o.O

Ich hoffe ich habe das Problem deutlich machen können und würde mich über Hilfe sehr freune!