Zum Inhalt springen

Feld mit header aus tt_content vorbefüllen

Erstellt am 10. November 2009 · 2 Antworten · letzte Antwort am 11. November 2009

Tags: Inhaltselemente, Powermail, Frage

4423je ·

Hallo,

ich habe auf einer Seite mehrere Veranstaltungen mit einem Anmeldelink unter jeder Veranstaltung, der zu einem Powermailformular auf einer eigenen Seite führt. Jede Veranstaltung ist ein eigenes Content Objekt, Text mit Anmeldelink stammen aus dem RTE.

Wenn ich auf einen Anmeldelink klicke, möchte ich, dass ein Feld im Formular mit dem Header des betreffenden CE vorbefüllt wird.

Wie das mit tt_news klappt, habe ich in diesem Forum gefunden:

# von der Startseite wird bei Klick auf Anmeldung der Titel
# der Veranstaltung in Powermail übernommen
# Link "Anmeldung" ist im tt-news-Template hardcodiert

lib.kursfetch = CONTENT
lib.kursfetch {
        table = tt_news
        select {
            pidInList = 32
            andWhere {
                  data = GPvar:newsid
                  wrap = tt_news.uid=|
                     }   
                }       
        renderObj = TEXT
        renderObj.field=title
               }


# Prefill fields
plugin.tx_powermail_pi1 {
            prefill {
                uid53 < lib.kursfetch
                    } 
                        }

Im Template von tt_news wird der Link generiert:

<!-- ###TEMPLATE_LIST### begin
	
			<p><a href="index.php?id=109&amp;newsid=###NEWS_UID###">Anmeldung</a></p>
		

<!-- ###TEMPLATE_LIST### end -->

Aber: Wie funktioniert das mit Content Objects???

Ich habe folgendes probiert:

lib.kursfetch = CONTENT
lib.kursfetch {
        table = tt_content
        select {
            pidInList = 105
            andWhere {
                  data = GPvar:uid
                  wrap =|
                     }   
                }       
        renderObj = TEXT
        renderObj.field=header
               }


# Prefill fields
plugin.tx_powermail_pi1 {
            prefill {
                uid53 < lib.kursfetch
                    } 
                        }

Aber dann wird immer nur der Header der ersten Veranstaltung übernommen, egal, welchen Anmeldelink ich klicke.
Ich steh voll auf dem Schlauch, es kann doch nicht so schwer sein, die uid eines CE bis zu einer folgenden Seite durchzuschleifen und dann den Header auszulesen, aber ich komm nicht drauf #angry#

Kann mich jemand erleuchten?

jens

4423je ·

Danke für die Antwort, einpraegsam.net,

funktioniert aber so leider nicht.
Sobald ich

 wrap = tt_content.uid=|

habe, wird nichts übernommen.

Hingegen mit

 wrap = |

funktioniert es, allerdings wird, wie gesagt, immer der Header des ersten CE übernommen.
Das

data = GPvar:uid

kann ich übrigens dabei weglassen, macht keinen Unterschied.

Ich vermute, ich muss bereits bei der Generierung des Links "Anmeldung" die uid mitgeben

renderObj = TEXT 
renderObj { 
field = header 
wrap=<span class="text">|</span><br> 
typolink.parameter.field=pid 
typolink.parameter.dataWrap=| 
typolink.additionalParams.insertData=1 
typolink.additionalParams=&content_id={field:uid}   
typolink.no_cache=1 if.isTrue.field=header 
}

und dann auf der Formular-Seite auslesen

table=tt_content
  select{
    andWhere.insertData=1
    andWhere=uid={GPvar:content_id}
    andWhere.if.isTrue.data=GPvar:content_id
  }

Aber wie soll das gehen, wenn die Redakteure den Link im RTE anlegen?

:o Ich kann nicht glauben, dass man nicht problemlos den Header des angeklickten Conten Objekts in einem stinknormalen Link durchschleifen kann.

Da muss es doch noch einen anderen Ansatz geben!?