[Frage] Standard Mailform - hiddenFields geht nicht? [Gelöst] TYPO3-Version: 6.2.7

  • fuzz fuzz
    Jedi-Meister
    0 x
    291 Beiträge
    5 Hilfreiche Beiträge
    26. 02. 2016, 09:33

    Hi,

    ich möchte im TYPO3 7.6 Standard Mailform grundsätzlich ein Hidden-Field einbinden, wenn ein Nutzer das Inhaltselement einbindet.

    Folgendes habe ich versucht:

    1. tt_content.mailform = COA_INT
    2. tt_content.mailform.20.hiddenFields.test = TEXT
    3. tt_content.mailform.20.hiddenFields.test.data = TSFE:id

    Jedoch wird das nicht in das Form eingefügt.
    Was mache ich falsch, oder geht so etwas generell nicht?

    Danke vorab!

    TypoScript kann alles, auch kochen! ...Man muss nur wissen wie ;-)

    Take a look at my TYPO3 Extensions in the Repository:
    content_designer, k23_imagecrop, nn_address and more...

  • fuzz fuzz
    Jedi-Meister
    0 x
    291 Beiträge
    5 Hilfreiche Beiträge
    26. 02. 2016, 11:38 - Lösung

    Da die neue Mailform Extension hiddenFields offenbar nicht mehr kennt habe ich es nun so gelöst:

    1. # Alternativen Partial Pfad um Hidden Elemente mit TypoScript zu vereinen
    2. plugin.tx_form {
    3. view.partialRootPaths.20 = mypath/templates/ext/form/html/
    4. settings.registeredElements.HIDDEN.visibleInMail = 1
    5. }
    6.  
    7. # Wohnungsdaten auslesen
    8. lib.form.wohnungsdaten = RECORDS
    9. lib.form.wohnungsdaten {
    10. source.data = GP:wohnung
    11.  
    12. tables = tx_bnwa_domain_model_wohnungsangebot
    13.  
    14. conf.tx_bnwa_domain_model_wohnungsangebot = COA
    15. conf.tx_bnwa_domain_model_wohnungsangebot {
    16. 10 = TEXT
    17. 10.field = wie_nummer
    18. 10.noTrimWrap = ||, |
    19.  
    20. 20 < .10
    21. 20.field = objekt_schluessel
    22.  
    23. 30 < .10
    24. 30.field = ve_nummer
    25.  
    26. 40 < .10
    27. 40.field = ueberschrift
    28. 40.noTrimWrap = |||
    29.  
    30. }
    31. }
    32.  
    33. # Spezielles Rendering des Formulars
    34. tt_content.mailform = COA_INT
    35. tt_content.mailform {
    36.  
    37. # Überschrift anzeigen wenn eine Wohnungs ID da ist
    38. 15 = RECORDS
    39. 15 {
    40. source.data = GP:wohnung
    41.  
    42. tables = tx_bnwa_domain_model_wohnungsangebot
    43.  
    44. conf.tx_bnwa_domain_model_wohnungsangebot = TEXT
    45. conf.tx_bnwa_domain_model_wohnungsangebot {
    46. field = ueberschrift
    47. wrap = <h2><strong>Wohnung: </strong>|</h2><p>&nbsp;</p>
    48. }
    49. }
    50.  
    51. # In dem Hidden.html partial wird das TypoScript nun gerendert
    52. 20.10 = HIDDEN
    53. 20.10 {
    54. name = wohnung
    55. value = lib.form.wohnungsdaten
    56.  
    57. # self made hook (schau in das alternative partial die if condition in der value)
    58. renderValueAsTypoScript = 1
    59. }
    60.  
    61. }

    Hidden.html Partial

    1. <li class="csc-form-{model.elementCounter} csc-form-element csc-form-element-{model.elementTypeLowerCase}">
    2. <f:form.hidden
    3. class="{model.additionalArguments.class}"
    4. dir="{model.additionalArguments.dir}"
    5. id="{model.additionalArguments.id}"
    6. lang="{model.additionalArguments.lang}"
    7. style="{model.additionalArguments.style}"
    8. title="{model.additionalArguments.title}"
    9. accesskey="{model.additionalArguments.accesskey}"
    10. tabindex="{model.additionalArguments.tabindex}"
    11. onclick="{model.additionalArguments.onclick}"
    12.  
    13. name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
    14. value="{f:if(condition:'{model.additionalArguments.renderValueAsTypoScript}',then:'{f:cObject(typoscriptObjectPath:\'{model.additionalArguments
    15.  
    16. additionalAttributes="{model.htmlAttributes}"
    17. />
    18. </li>

    Ggf. müssen noch 2 Partials für den Mailversand angepasst werden. Einfach die Partials aus der form sysext "/Default/PostProcessor/Mail/Html" (und text) für das Textfield.html kopieren als Hidden.html

    Dann klappt es auch mit dem Mail Versand der versteckten Felder, dynamisch mit TypoScript.

    TypoScript kann alles, auch kochen! ...Man muss nur wissen wie ;-)

    Take a look at my TYPO3 Extensions in the Repository:
    content_designer, k23_imagecrop, nn_address and more...


  • 1
  • fuzz fuzz
    Jedi-Meister
    0 x
    291 Beiträge
    5 Hilfreiche Beiträge
    26. 02. 2016, 11:38

    Da die neue Mailform Extension hiddenFields offenbar nicht mehr kennt habe ich es nun so gelöst:

    1. # Alternativen Partial Pfad um Hidden Elemente mit TypoScript zu vereinen
    2. plugin.tx_form {
    3. view.partialRootPaths.20 = mypath/templates/ext/form/html/
    4. settings.registeredElements.HIDDEN.visibleInMail = 1
    5. }
    6.  
    7. # Wohnungsdaten auslesen
    8. lib.form.wohnungsdaten = RECORDS
    9. lib.form.wohnungsdaten {
    10. source.data = GP:wohnung
    11.  
    12. tables = tx_bnwa_domain_model_wohnungsangebot
    13.  
    14. conf.tx_bnwa_domain_model_wohnungsangebot = COA
    15. conf.tx_bnwa_domain_model_wohnungsangebot {
    16. 10 = TEXT
    17. 10.field = wie_nummer
    18. 10.noTrimWrap = ||, |
    19.  
    20. 20 < .10
    21. 20.field = objekt_schluessel
    22.  
    23. 30 < .10
    24. 30.field = ve_nummer
    25.  
    26. 40 < .10
    27. 40.field = ueberschrift
    28. 40.noTrimWrap = |||
    29.  
    30. }
    31. }
    32.  
    33. # Spezielles Rendering des Formulars
    34. tt_content.mailform = COA_INT
    35. tt_content.mailform {
    36.  
    37. # Überschrift anzeigen wenn eine Wohnungs ID da ist
    38. 15 = RECORDS
    39. 15 {
    40. source.data = GP:wohnung
    41.  
    42. tables = tx_bnwa_domain_model_wohnungsangebot
    43.  
    44. conf.tx_bnwa_domain_model_wohnungsangebot = TEXT
    45. conf.tx_bnwa_domain_model_wohnungsangebot {
    46. field = ueberschrift
    47. wrap = <h2><strong>Wohnung: </strong>|</h2><p>&nbsp;</p>
    48. }
    49. }
    50.  
    51. # In dem Hidden.html partial wird das TypoScript nun gerendert
    52. 20.10 = HIDDEN
    53. 20.10 {
    54. name = wohnung
    55. value = lib.form.wohnungsdaten
    56.  
    57. # self made hook (schau in das alternative partial die if condition in der value)
    58. renderValueAsTypoScript = 1
    59. }
    60.  
    61. }

    Hidden.html Partial

    1. <li class="csc-form-{model.elementCounter} csc-form-element csc-form-element-{model.elementTypeLowerCase}">
    2. <f:form.hidden
    3. class="{model.additionalArguments.class}"
    4. dir="{model.additionalArguments.dir}"
    5. id="{model.additionalArguments.id}"
    6. lang="{model.additionalArguments.lang}"
    7. style="{model.additionalArguments.style}"
    8. title="{model.additionalArguments.title}"
    9. accesskey="{model.additionalArguments.accesskey}"
    10. tabindex="{model.additionalArguments.tabindex}"
    11. onclick="{model.additionalArguments.onclick}"
    12.  
    13. name="{model.additionalArguments.prefix}[{model.additionalArguments.name}]"
    14. value="{f:if(condition:'{model.additionalArguments.renderValueAsTypoScript}',then:'{f:cObject(typoscriptObjectPath:\'{model.additionalArguments
    15.  
    16. additionalAttributes="{model.htmlAttributes}"
    17. />
    18. </li>

    Ggf. müssen noch 2 Partials für den Mailversand angepasst werden. Einfach die Partials aus der form sysext "/Default/PostProcessor/Mail/Html" (und text) für das Textfield.html kopieren als Hidden.html

    Dann klappt es auch mit dem Mail Versand der versteckten Felder, dynamisch mit TypoScript.

    TypoScript kann alles, auch kochen! ...Man muss nur wissen wie ;-)

    Take a look at my TYPO3 Extensions in the Repository:
    content_designer, k23_imagecrop, nn_address and more...

  • 1