[Frage] Powermail2 - dynamisch generierte Checkboxen TYPO3-Version: -

  • dercin dercin
    R2-D2
    0 x
    107 Beiträge
    0 Hilfreiche Beiträge
    14. 10. 2014, 10:25

    TYPO3 6.2.4 / Powermail 2.1.1

    Guten Morgen,

    ich möchte bei Powermail ein Formularfeld einfügen, in dem der Benutzer die Möglichkeit hat, aus einer Liste von Seiten (Pages) auszuwählen (Mehrfachauswahl möglich). Soweit ich es richtig sehe, ist ein einfaches Prefill bei Auswahllisten oder Checkboxen nicht möglich oder?

    Ich habe also im Formular ein Feld TYPOSCRIPT platziert und dort bei Typoscritp Pfad lib.product

    Dieses Objekt baue ich in TS folgendermaßen zusammen:

    1. lib.product = COA_INT
    2. lib.product {
    3. 10 = TEXT
    4. 10.value = <div id="powermaildiv_uid41" class="tx_powermail_pi1_fieldwrap_html tx_powermail_pi1_fieldwrap_html_select tx_powermail_pi1_fieldwrap_html_41 even"><label for="uid41">Produkt wählen</label><input type="hidden" name="tx_powermail_pi1[field][produkt]" value="" />
    5.  
    6. 20 = CONTENT
    7. 20 {
    8. table = pages
    9. pidInList = xxx
    10. }
    11. renderObj = COA
    12. renderObj {
    13. 10 = COA
    14. 10 {
    15. 10 = TEXT
    16. 10.dataWrap = <input class="powermail_checkbox powermail_checkbox_{field:uid}" id="powermail_field_produkt_{field:uid}" name="tx_powermail_pi1[field][produkt][]" type="checkbox" value="{field:title}"
    17.  
    18. 20 = TEXT
    19. 20.value = checked="checked"
    20. 20.if {
    21. value.data = field:uid
    22. equals.data = GP:productpage
    23. }
    24.  
    25.  
    26.  
    27. 50 = TEXT
    28. 50.value = />
    29.  
    30. 60 = TEXT
    31. 60.dataWrap = {field:title}
    32.  
    33.  
    34. }
    35. }
    36. }
    37. }

    Es funktioniert alles. Das einzige Problem ist nun noch, dass Powermail offenbar nicht weiß, dass es sich um ein checkbox Feld handelt und die Werte in der eMail nur als Array übertragen werden, statt einer Kommaseparierten Liste:

    ["Test 1","Test 2","Test 3"]

    Wie kann ich denn Powermail beibringen daraus in der eMail, wie bei normalen Checkboxen, Test 1, Test 2, Test 3 zu generieren?

    Vielen Dank

    Nico

    http://www.nicolas-stey.de - Webentwicklung
    http://www.steyle.com - Fotografie

  • Hilfreichster Beitrag

  • einpraegsam.net einpraegs...
    MacGyver
    1 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    15. 10. 2014, 09:59 - Hilfreichster Beitrag

    Wenn du powermail 2.1.x nutzt, kannst du ganz einfach über TypoScript Checkboxen, Selectfelder oder Radiobuttons mit Werten befüllen.

    Einfach ein Feld vom Typ Checkbox hinzufügen, das Feld "Options" leer lassen und dafür einen TypoScript-Pfad im Feld "Create from TypoScript" eintragen - z.B. "lib.options"
    [img]https://s3.amazonaws.com/fvd-data/notes/262407/1413359411-z5T00J/screen.png[/img]

    TypoScript Beispiel:

    1. lib.options = TEXT
    2. lib.options.value = red[\n]blue[\n]yellow

    Das TypoScript kann natürlich auch vom Typ CONTENT oder ähnlichem sein.

    Hilft dir das weiter? Falls ja, kannst du gerne dein angepasstest TypoScript hier posten, ist sicher auch für andere interessant.

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    1 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    15. 10. 2014, 09:59

    Wenn du powermail 2.1.x nutzt, kannst du ganz einfach über TypoScript Checkboxen, Selectfelder oder Radiobuttons mit Werten befüllen.

    Einfach ein Feld vom Typ Checkbox hinzufügen, das Feld "Options" leer lassen und dafür einen TypoScript-Pfad im Feld "Create from TypoScript" eintragen - z.B. "lib.options"
    [img]https://s3.amazonaws.com/fvd-data/notes/262407/1413359411-z5T00J/screen.png[/img]

    TypoScript Beispiel:

    1. lib.options = TEXT
    2. lib.options.value = red[\n]blue[\n]yellow

    Das TypoScript kann natürlich auch vom Typ CONTENT oder ähnlichem sein.

    Hilft dir das weiter? Falls ja, kannst du gerne dein angepasstest TypoScript hier posten, ist sicher auch für andere interessant.

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • dercin dercin
    R2-D2
    0 x
    107 Beiträge
    0 Hilfreiche Beiträge
    17. 10. 2014, 16:56

    Hey,
    oh mann, ich bin ja blind. Vielen Dank für den Hinweis, das Feld kannte ich noch nicht.
    Dann baue ich mein Script entsprechend um und poste das Ergebnis anschließend.

    Beste Grüße und ein schönes Wochenende.
    Nico

    http://www.nicolas-stey.de - Webentwicklung
    http://www.steyle.com - Fotografie

  • dercin dercin
    R2-D2
    0 x
    107 Beiträge
    0 Hilfreiche Beiträge
    17. 10. 2014, 17:32

    So es hat mir keine Ruhe gelassen, da habe ich es gleich umgebaut :)

    Der Sinn ist:
    Auf einer Produktseite klicke ich auf "Mehr Informationen". Über den Link wird die UID der Produktseite in GP:productpage übergeben. Im Zielformular ist nun eine aus der Tabelle "pages" gefüllte Auswahlbox (Ich Interessiere mich für) und die bereits vorausgewählten Seite ist markiert:

    1. lib.productfill = CONTENT
    2. lib.productfill {
    3. table = pages
    4. pidInList = xxx
    5. }
    6. renderObj = COA
    7. renderObj {
    8. 10 = COA
    9. 10 {
    10. 10 = TEXT
    11. 10.dataWrap = {field:title}[\n]
    12. }
    13. }
    14. }
    15.  
    16. plugin.tx_powermail.settings.setup.prefill {
    17. produkt= RECORDS
    18. produkt {
    19. tables = pages
    20. source.data = GP:productpage
    21. conf.pages = TEXT
    22. conf.pages.field = title
    23. }
    24. }

    vg Nico

    http://www.nicolas-stey.de - Webentwicklung
    http://www.steyle.com - Fotografie

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    17. 10. 2014, 17:54

    Nice, schön zu sehen, dass die Änderung in der 2.1 "Create from TypoScript" auch benutzt wird :)

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • dercin dercin
    R2-D2
    0 x
    107 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2014, 10:22

    Wen es interessiert:

    Ich habe das Ganze nochmal in einen kleinen Blogbeitrag verpackt:
    [url]http://www.nicolas-stey.de/typo3-cms/eintrag/powermail-2-prefill-von-select-checkbox-und-co.html[/url]

    http://www.nicolas-stey.de - Webentwicklung
    http://www.steyle.com - Fotografie

  • Steppo Steppo
    Padawan
    0 x
    60 Beiträge
    1 Hilfreiche Beiträge
    24. 09. 2018, 14:19

    Entschuldigt bitte wenn ich einen so alten Post ausgrabe, allerdings hat der mir sehr gut weitergeholfen bei einer Problemstellung vor der ich gerade gestanden habe :-)

    Ich konnte das Script hier ganz gut adaptieren nur scheitere ich gerade daran einen dynamischen Link zu generieren womit ich auf der Folgeseite eine Checkbox vorauswählen kann.

    Wie müsste der Link dazu denn aussehen?

    index.php?id=123?tx_powermail_pi1[uid123][0]=1

    Danke schonmal für Eure Hilfe.

  • Steppo Steppo
    Padawan
    0 x
    60 Beiträge
    1 Hilfreiche Beiträge
    26. 09. 2018, 08:33

    Der Threadersteller hat mir an einer anderen Stelle weitergeholfen. Nur zur Vervollständigung seine Antwort:

    Das Befüllen der Checkbox geht ganz ohne Powermail.

    Beispiel:
    index.php?id=1&productpage=18

    Das Script aus meiner Beschreibung holt dann die Seite mit der uid 18 und befüllt die Selectbox mit dem Titel der Seite.

    An der Stelle nochmals Danke für die Hilfe.

  • 1