COA in Text umwandeln

  • tobla tobla
    R2-D2
    0 x
    100 Beiträge
    1 Hilfreiche Beiträge
    05. 03. 2013, 17:11

    Hallo zusammen

    Wie kann ich ein COA in Text (einen einzigen String) umwandeln mit Typoscript?
    [b]Hintergrund[/b]
    Powermail kann als Empfänger eine lib mitgegeben werden -> {f:cObject(typoscriptObjectPath:'lib.userEmail')}. Damit ist es möglich den Empfänger über Typoscript zu setzen. Leider scheint Powermail hier nur einfach lib-Konstrukte zu verarbeiten.
    Da wir jedoch den Empfänger anhand einer übergebenen FE-user ID aus der Datenbank lesen, erhalten wir eine komplexere Struktur:

    1. lib.userEmail = COA
    2. lib.userEmail {
    3. 10 = TEXT
    4. 10 {
    5. dataWrap = DB:fe_users:{GP:receiver|user}:email #liefert die Email Adresse aus der Datenbank
    6. wrap3 = {|}
    7. }
    8. }

    lib.userEmail funktioniert und gibt auch die E-mail aus, wenn sie auf der Seite eingebunden wird. wird sie jedoch Powermail übergeben mit {f:cObject(typoscriptObjectPath:'lib.userEmail')}, so passiert überhaupt nichts.

    Daher nehme ich an, dass Powermail das ganze als Text erwartet. Doch wie kann ich den gesammten Inhalt eines COA zu einem Text umwandeln (so wie es auch umgewandelt wird, wenn es im Frontend ausgegeben wird)? Ich stelle mir das ungefähr so vor (klappt natürlich nicht, nur konzeptioneller Ansatz):

    1. lib.receiver = TEXT
    2. lib.receiver.value = {lib.userEmail.value}

    Powermail Empfänger Feld: {f:cObject(typoscriptObjectPath:'lib.receiver')}

    Das das ganze seitens Powermail funktioniert haben wir getestet. Mit

    1. lib.receiver = TEXT
    2. lib.receiver.value = me@myComp.com
    funktioniert es nämlich.

    Könnt ihr mit weiterhelfen?


  • 1
  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    1 Hilfreiche Beiträge
    06. 03. 2013, 10:02

    Hallo,

    ich kann nicht ganz nachvollziehen, warum Du zum Setzen der Receiver-E-Mail ein f:cObject Viewhelper brauchst. Wenn ohnehin der GP:receiver|user Parameter übergeben wird, eignet sich nach meiner Meinung eher die overwrite Eigenschaft dafür. Damit lässt sich per TS der Default-Empfänger überschreiben und ein cObject wird auch unterstützt.

    1. plugin.tx_powermail.settings.setup.receiver.overwrite.email =

    VG,
    LuP

  • tobla tobla
    R2-D2
    0 x
    100 Beiträge
    1 Hilfreiche Beiträge
    06. 03. 2013, 10:35

    Wenn du den Empfänger nicht über Typoscript sondern im Flexform setzt, musst du in das Empfängerfeld anstelle von myReceiver@myDomain.com das Konstrukt '{f:cObject(typoscriptObjectPath:'lib.receiver')}' eintragen.

    Wir haben das Problem jetzt gelöst und zwar folgendermassen:
    Flexform:

    1. {f:cObject(typoscriptObjectPath:'lib.userEmail')}

    Template:
    1. lib.userEmail = TEXT
    2. lib.userEmail {
    3. dataWrap = DB:fe_users:{GP:receiver|user}:email #liefert die Email Adresse aus der Datenbank
    4. wrap3 = {|}
    5. }

    Da haben wir wohl einfach zu weit gedacht #angry#
    [b]Es würde mich allerdings trotzdem interessieren, ob man ein COA in einen String wandeln kann.[/b] Hätte diese Funktion nämlich schon bei anderen Problemen gebraucht.

  • 1