[Frage] fe_user Registrierung mit Formhandler möglich? [Gelöst] TYPO3-Version: 6.1.1

  • rayphi rayphi
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    09. 12. 2013, 12:20

    Hallo zusammen,

    da ich mittlerweile ein Freund von Formhandler geworden bin habe ich mich gefragt ob es möglich sei die "sr_feuser_register" Extension durch ein Formhandler formular auszutauschen.

    Theoretisch müsste ich ja nur im Finisher_DB die fe_users tabelle angeben und meine felder korrekt mappen.
    Um die Passwörter ebenfalls vernünftig abzulegen hab ich mir erlaubt einen patch einzuspielen der für saltedpassword hashes sorgen soll. (http://forge.typo3.org/issues/48658)

    Aktuell bekomme ich nach absenden eine leere Email und vom Finisher_Email leider passiert in der Datenbank gar nichts...

    Hat da jemand eine Idee, gehe ich es grad völlig falsch an oder bzw. hab ich irgendeinen Fehler gemacht?
    Beste Grüße Raphael

    Meine Aktuelle Konfiguration sieht wie folgt aus:

    Setup:

    1. plugin.Tx_Formhandler.settings.predef.formhandler-feuser-registration {
    2.  
    3. # This is the title of the predefined form shown in the dropdown box in the plugin options.
    4. name = Formhandler FE_USER Registration
    5.  
    6. # All form fields are prefixed with this values (e.g. feregistration[name])
    7. formValuesPrefix = feregistration
    8.  
    9. langFile.1 = TEXT
    10. langFile.1.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/lang/lang.xml
    11.  
    12. templateFile = TEXT
    13. templateFile.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/html/step-1.html
    14.  
    15. # The master template is a file containing the markup for specific field types or other sub templates (e.g. for emails). You can use these predefined markups in your HTML template for a specific form.
    16. masterTemplateFile = TEXT
    17. masterTemplateFile.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/html/mastertemplate.html
    18.  
    19.  
    20. # These wraps define how an error messages looks like. The message itself is set in the lang file.
    21. singleErrorTemplate {
    22. totalWrap = <div class="error">|</div>
    23. singleWrap = <span class="message">|</span>
    24. }
    25. isErrorMarker {
    26. global = Global message if an error occurred
    27. #^^(filled into ###is_error###)
    28. default = class="error"
    29. #^^(filled into ###is_error_[fieldname]###
    30. field1 = TEXT
    31. field1.value = Some message
    32. #^^(filled into ###is_error_field1###)
    33. }
    34.  
    35. preProcessors {
    36. 1.class = PreProcessor_LoadGetPost
    37. 2.class = PreProcessor_ValidateAuthCode
    38. 2.config {
    39. redirectPage = TEXT
    40. redirectPage.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.validateAuthCode.successPage}
    41. errorRedirectPage = {$formhandlerATO.formhandler-feuser-registration.fe-reg.validateAuthCode.errorPage}
    42. hiddenField = hidden
    43. }
    44. }
    45.  
    46. validators {
    47. 1 {
    48. class = Validator_Default
    49. config {
    50. fieldConf {
    51. password {
    52. errorCheck.1 = required
    53. }
    54. password_repeat {
    55. errorCheck.1 = required
    56. errorCheck.2 = equalsField
    57. errorCheck.2.field = password
    58. }
    59. vorname {
    60. errorCheck.1 = required
    61. }
    62. name {
    63. errorCheck.1 = required
    64. }
    65. email {
    66. errorCheck.1 = required
    67. errorCheck.2 = email
    68. errorCheck.3 = isNotInDBTable
    69. errorCheck.3 {
    70. table = fe_users
    71. field = email
    72. }
    73. }
    74. }
    75. }
    76. }
    77. }
    78.  
    79. # Finishers are called after the form was submitted successfully (without errors).
    80. finishers {
    81.  
    82. 1.class = Finisher_DB
    83. 1.config {
    84. table = fe_users
    85. key = uid
    86. fields {
    87.  
    88. email.mapping = email
    89. username.mapping = email
    90. password.mapping = password
    91. password.special = saltedpassword
    92. password.special.field = password
    93. first_name.mapping = vorname
    94. last_name.mapping = name
    95. company.mapping = company
    96. address.mapping = street
    97. zip.mapping = postalcode
    98. city.mapping = city
    99. telephone.mapping = telefon
    100. comments.mapping = message
    101. usergroup.ifIsEmpty = 1
    102.  
    103. pid.postProcessing = TEXT
    104. pid.postProcessing.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.storagePid}
    105. hidden.ifIsEmpty = 1
    106. }
    107. }
    108. 2.class = Finisher_GenerateAuthCode
    109. 2.config {
    110. table = fe_users
    111. }
    112.  
    113. # Finisher_Mail sends emails to an admin and/or the user.
    114. 3.class = Finisher_Mail
    115. 3.config {
    116. limitMailsToUser = 1
    117. admin {
    118. templateFile = TEXT
    119. templateFile.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/html/email-admin.html
    120. sender_email = {$formhandlerATO.formhandler-feuser-registration.fe-reg.email.admin.sender_email}
    121. to_email = {$formhandlerATO.formhandler-feuser-registration.fe-reg.email.admin.to_email}
    122. subject = TEXT
    123. subject.data = LLL:{$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/lang/lang.xml:email_admin_subject
    124. }
    125. user {
    126. templateFile = TEXT
    127. templateFile.value = {$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/html/email-user.html
    128. sender_email = {$formhandlerATO.formhandler-feuser-registration.fe-reg.email.user.sender_email}
    129. to_email = email
    130. subject = TEXT
    131. subject.data = LLL:{$formhandlerATO.formhandler-feuser-registration.fe-reg.rootPath}/lang/lang.xml:email_user_subject
    132. }
    133. }
    134.  
    135. # Finisher_Redirect will redirect the user to another page after the form was submitted successfully.
    136. 4.class = Finisher_Redirect
    137. 4.config {
    138. redirectPage = {$formhandlerATO.formhandler-feuser-registration.fe-reg.redirectPage}
    139. }
    140. }
    141.  
    142. }

    Constants:

    1. formhandlerATO.formhandler-feuser-registration.fe-reg {
    2. # cat=Formhandler FE_USER Registration - FeUser/basic/10; type=string; label=Root path: Path where the Configuration was saved to.
    3. rootPath = fileadmin/formhandler/fe_user-registration
    4. email {
    5. user {
    6. # cat=Formhandler FE_USER Registration - FeUser/basic/20; type=string; label=User email sender: Email address to use as sender address for the user email.
    7. sender_email = raphael.tweitmann@ato.de
    8. }
    9. admin {
    10. # cat=Formhandler FE_USER Registration - FeUser/basic/20; type=string; label=Admin email sender: Email address to use as sender address for the admin email.
    11. sender_email = raphael.tweitmann@ato.de
    12.  
    13. # cat=Formhandler FE_USER Registration - FeUser/basic/20; type=string; label=Admin email recipient: Email address of an admin to receive the information email.
    14. to_email =
    15. }
    16. }
    17. # cat=Formhandler FE_USER Registration - FeUser/basic/40; type=string; label=Redirect Page: Page ID to redirect after successful form submission.
    18. redirectPage = 78
    19.  
    20. # cat=Formhandler FE_USER Registration - FeUser/basic/40; type=string; label=Storage PID: Page ID to store the registrations to.
    21. storagePid = 35
    22. validateAuthCode {
    23. # cat=Formhandler FE_USER Registration - FeUser/basic/40; type=string; label=Success page: Page ID to redirect to if the authentication code is valid.
    24. successPage = 77
    25. # cat=Formhandler FE_USER Registration - FeUser/basic/40; type=string; label=Error page: Page ID to redirect to if the authentication code is not valid.
    26. errorPage = 79
    27. }
    28. }

  • rayphi rayphi
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2013, 10:33 - Lösung

    Also hab es jetzt auch selbst geschafft wer an der Lösung interessiert ist kann sie sich hier anschauen
    -> http://snipt.org/Byid4

    Registrierung mit allen benötigten Feldern, Email wird Benutzername, AuthCode Generierung (wird in meinem Fall an den Admin geschickt, da es sich um ein Kundenportal handelt wo sich nicht jeder registrieren soll)

    password.special = saltedpassword
    password.special.field = password

    ^^Dies ist wie erwähnt noch mit folgendem patch zu meinem Formhandler 1.6.2 hinzugekommen ('nativ' erst ab 1.7.0 verfügbar)


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    09. 12. 2013, 18:19

    Das Problem mit den Mails hatte ich auch schon mal. Ich konnte es damals lösen, indem ich die Mail-Klasse mit angegeben habe.

    3.class = Tx_Formhandler_Finisher_Mail
    3.config.mailer.class = Mailer_TYPO3Mailer

    Sieht auch nach einer veralteten Version vom Formhandler aus, aber daran sollte es nicht scheitern. Hier mal ein Link zum Skript, an welchem ich mich damals orientiert habe: http://typo3blogger.de/newsletteranmeldung-mit-formhandler-turchen-14/
    Dieses Skript läuft auch unter 6.1 - sofern man die nötigen Anpassungen an den aktuellen Formhandler noch rein bastelt. Dort wird eigentlich alles genutzt was Du auch brauchst.

  • rayphi rayphi
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2013, 10:10

    Naja ok im groben und ganzen funktioniert das Mailing ja das Problem entsteht ja schon vorher beim DB Finisher hier wird ja anscheinend gar nichts gemacht! Es werden weder einträge in die fe_users tabelle geschrieben noch bekomme ich irgendwelche Fehlermeldungen das dieses nicht geschehen ist... es läuft ja komplett durch und ich lande am ende auf der redirectPage :/

  • rayphi rayphi
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    10. 12. 2013, 10:33

    Also hab es jetzt auch selbst geschafft wer an der Lösung interessiert ist kann sie sich hier anschauen
    -> http://snipt.org/Byid4

    Registrierung mit allen benötigten Feldern, Email wird Benutzername, AuthCode Generierung (wird in meinem Fall an den Admin geschickt, da es sich um ein Kundenportal handelt wo sich nicht jeder registrieren soll)

    password.special = saltedpassword
    password.special.field = password

    ^^Dies ist wie erwähnt noch mit folgendem patch zu meinem Formhandler 1.6.2 hinzugekommen ('nativ' erst ab 1.7.0 verfügbar)

  • magr01ino magr01ino
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    26. 07. 2016, 16:18

    @rayphi - Ja, an der Lösung wäre ich sehr interessiert!! Leider gehen die snipt.org links ins Leere, scheint inzwischen den Besitzer gewechselt zu haben?

  • 1