[TYPO3-german] powermail 2 - felder vorbelegen - TYPOSCRIPT-FRAGE

DirkHo dirk_studivz at web.de
Wed Jul 15 08:44:43 CEST 2015


Hallo Andreas,

vielen Dank für deine ausführliche Antwort.

Ansatz #3 und #4 gefielen mir am besten, da ich die Aufbereitung der 
Daten außerhalb des Prefill von Powermail nicht mehr brauche.

#3 hat super geklappt. #4 habe ich interessehalber auch noch getestet, 
allerdings stand dort dann nur "TEXT" im Ausgabefeld. Bei der schnellen 
Google-Suche nach der TEXT Doku fand ich nirgends "wrap" als Attribut.
Bräuchte ich da evtl. einen anderen Datentypen? Ich schau's mir daheim 
nochmal in Ruhe an - so lerne ich auch wieder was dazu. ;)

Vielen Dank nochmals und viele Grüße,

Dirk

Am 14.07.2015 um 23:32 schrieb Andreas Wildenrother:
> Hallo,
>
> Wenn ich dein TS richtig interpretiere möchtest du das Ergebnis aus
> temp.MEMBERSHIPNUM in Data für deinen Prefill einfügen.
> Hierbei würde ich auf den ersten Blick 2 kleine Fehler vermuten:
>
> Zum ersten scheint auf den ersten Blick ein kleiner Fehler in deiner
> Temp zu sein:
>
>     temp.MEMBERSHIPNUM = COA
>     temp.MEMBERSHIPNUM.10 = TEXT
>     temp.MEMBERSHIPNUM.10.value = MIT-
>     temp.MEMBERSHIPNUM.20 = TEXT
>     temp.MEMBERSHIPNUM.20.*data* = TSFE:fe_user|user|member_num
>
> mit .value können meines Wissens nur direkte Klartext Werte übergeben
> werden (z.B. das MIT-).
>
> Zum 2, der Übergabe deines temp.MEMBERSHIPNUM an den Prefill Wert von
> Powermail:
>
> Von der Logik her ist das so kein Problem, allerdings ist Typoscript
> keine direkte Programmiersprache sondern mehr als
> "Konfigurationssprache" zu verstehen.
> Sprich es wird PHP damit nur erklärt was es anstellen soll, dein
> temp.MEMBERSHIPNUM enthält also sozusagen nur die Bedienungsanleitung,
> nicht aber den Finalen Wert.
>
> plugin.tx_powermail {
>      settings.setup {
>          prefill {
>              #...
> /# Möglichkeit 1:/
>                  # Kopieren der Konfiguration von temp (=> Änderungen
> *nach*  dieser Zeile an temp.MEMBERSHIPNUM kommen an dieser Stelle
> *nicht* mehr zum Tragen)
>                  membershipnum < temp.MEMBERSHIPNUM
>
> /# Möglichkeit 2:/
>                  # Referenzieren der Konfiguration von temp (=>
> Änderungen *nach* dieser Zeile an temp.MEMBERSHIPNUM kommen an dieser
> Stelle mehr *zum* Tragen)
>                  membershipnum =< temp.MEMBERSHIPNUM
>
> /# Möglichkeit 3:/
>                  # wenn temp.MEMBERSHIPNUM ansonsten nirgends verwendet
> wird kann sich der Umweg über temp im Prinzip auch gespart werden
>                  membershipnum = COA
>                  membershipnum.10 = TEXT
>                  membershipnum.10.value = MIT-
>                  membershipnum.20 = TEXT
>                  membershipnum.20.data = TSFE:fe_user|user|member_num
>
> /# Möglichkeit 3:/
>                  ## als Alternative etwas kürzer da ich meist etwas
> schreibfaul bin...
>                  ## den Wert aus der DB einfügen und den Präfix via wrap
> davor setzen.
>                  ## Der required soll dafür sorgen dass das ganze nur
> gemacht wird wenn auch ein Wert in der member_num steht.
>                  membershipnum = TEXT
>                  membershipnum.data = TSFE:fe_user|user|member_num
>                  membershipnum.wrap = MIT-|
>                  membershipnum.required = 1
>              #...
>          }
>      }
> }
>
> Das ganze ist jetzt ungetestet. Ich habe auf Anhieb auch nicht die
> entsprechende Stelle in der Dokumentation von Powermail gefunden,
> vermute aber dass die Felder des Prefill sich wie normale Typoscript
> Objekte verhalten und daher das in etwa so wie oben klappen sollte.
>
> Viele Grüße
>
> Andreas
>
> Am 14.07.15 um 19:51 schrieb DirkHo:
>> Hallo,
>>
>> jetzt hätte ich doch eine Frage zur Vorbelegung. Und zwar möchte ich
>> u.a. die Mitgliedsnummer, die ich als Int speichere vorbelegen. Die
>> setzt sich aber eigentlich aus MIT- und dann dem Int-Wert zusammen,
>> also z.B. MIT-1234, ich speichere aber nur 1234.
>>
>> temp.MEMBERSHIPNUM = COA
>> temp.MEMBERSHIPNUM.10 = TEXT
>> temp.MEMBERSHIPNUM.10.value = MIT-
>> temp.MEMBERSHIPNUM.20 = TEXT
>> temp.MEMBERSHIPNUM.20.value = TSFE:fe_user|user|member_num
>>
>> plugin.tx_powermail {
>>     settings.setup {
>>         prefill {
>>             #...
>>             membershipnum= TEXT
>>             membershipnum.data = temp.MEMBERSHIPNUM
>>
>>             #...
>>         }
>>     }
>> }
>>
>> Das gibt mir aber leider gar nichts aus.
>>
>> Vielen Dank und viele Grüße,
>>
>> Dirk
>>
>>
>>
>> Am 14.07.2015 um 00:52 schrieb Andreas Wildenrother:
>>> Hallo,
>>>
>>> ich habe diese einfach über System -> Configuration oder entsprechend
>>> über die extTables.php angefügt da ich in diesem Fall mehrere Formulare
>>> an diversen Stellen mit den Feldern vorbelegen musste
>>>
>>> // Pseudo
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][XX][0]
>>>
>>> = [Label];
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][XX][1]
>>>
>>> = [DB fieldname];
>>>
>>>
>>> // Extend Powermail feuser_fields -> first_name
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][12][0]
>>>
>>> = "Vorname";
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][12][1]
>>>
>>> = 'first_name';
>>>
>>> // Extend Powermail feuser_fields -> last_name
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][13][0]
>>>
>>> = "Nachname";
>>> $GLOBALS['TCA']['tx_powermail_domain_model_fields']['columns']['feuser_value']['config']['items'][13][1]
>>>
>>> = 'last_name';
>>>
>>> Damit sollten die so eingefügten Felder im Formular zur Auswahl stehen.
>>>
>>> Eine Vorbelegung über Typoscript müsste jedoch auch ohne Änderungen an
>>> der extTables möglich sein.
>>> Ungetestet müsste etwas in diese Richtung funktionieren:
>>>
>>> plugin.tx_powermail {
>>>      settings.setup {
>>>          prefill {
>>>            ## Pseudo
>>>              [im Formular vergebener Feldname] = TEXT
>>>              [im Formular vergebener Feldname].data =
>>> TSFE:fe_user|user|[DB feld]
>>>
>>>             # First_name
>>>              first_name = TEXT
>>>              first_name.data = TSFE:fe_user|user|first_name
>>>           }
>>>      }
>>> }
>>>
>>> Dazu 2 kurze Links aus der Bookmark-leiste:
>>> FeUser Daten mit Typoscript ansprechen:
>>> http://www.typo3wizard.com/de/snippets/cool-stuff-typoscript/informationen-ueber-den-angemeldeten-benutzer.html
>>>
>>>
>>>
>>> Powermail Felder via TS befüllenTyp
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
>



More information about the TYPO3-german mailing list