Zum Inhalt springen

powermail: prefill mit Übergabewerten aus er URL

Erstellt am 7. März 2009 · 18 Antworten · letzte Antwort am 7. März 2009

Tags: Powermail, Frage

mila ·

Hallo,

ich arbeite erst kurze Zeit mit Powermail, bin aber schon überzeugt von dieser Extension. Jetzt stehe ich allerdings vor einem Problem, das offensichtlich bei allen anderen gelöst wurde - nur bei mir läuft es nicht. Ich will aus einer URL www.meinedomain.de/index.php?42&tx_mjseventpro_pi1[showUid]=598
den übergebenen Parameter (also die 598-) verwenden, um anhand dieser Uid den das Feld title und (später) das Feld bdate auszulesen und zwei Formularfelder damit zu füllen.

Das Befüllen mit prefill klappt, solange ich value=blabla verwende. Sobald ich aber stattdessen www.meinedomain.de/index.php?42&... nutzen will, bleibt das Formularfeld leer. Und schon gar nicht klappt es, wenn ich statt der Variablen eine bestimmtes Feld aus der Tabelle, in der ich anhand der Variablen einen DAtensatz festlege, benutzen will. Das HowTo hab ich schon x-mal durchgearbeitet.

plugin.tx_powermail_pi1 {
	15=LOAD_REGISTER
	15{
		reiseziel.cObject=TEXT
				
		RECORDS{
		source.data=GPvar:tx_mjseventpro_pi1[showUid]
		tables=tx_mjseventpro
		conf.tx_mjseventpro{
			field=title
			}
		}
	}
		
        prefill {
                uid48 = TEXT
                uid48.data>reiseziel.cObject
                uid48.wrap = |
        }
}

Langsam ist meine Geduld am Ende ... 🙁 Bin für jede Hilfe dankbar!
mila

mila ·

Da erscheint bei mir im Formularfeld nur folgendes:
Send an email to <b>|</b>
😢

bzw. <b>|</b>

mila ·

Sorry,

hab folgendes TS

temp_reiseziel = CONTENT
temp_reiseziel {
        table = tx_mjseventpro
                select.where {
                        data = GPvar:tx_mjseventpro_pi1[showUid]
                        wrap = tx_mjseventpro.uid=|
           }     
       
        renderObj = COA
        renderObj.10 = TEXT
        renderObj.10 {
                field = title
        }
}



# Prefill fields
plugin.tx_powermail_pi1 {
        prefill {
                uid48 < temp_reiseziel
                uid48.wrap = <b>|</b>
        }
}
mila ·

Vielleicht noch zur Info: folgende zeilen funktionieren:

plugin.tx_powermail_pi1.prefill.uid37 = TEXT
plugin.tx_powermail_pi1.prefill.uid37.data = getIndpEnv:REMOTE_ADDR
mila ·

Irgendwie habe ich das Gefühl, er holt sich die Variable aus der URL nicht.
Die URL lautet: www.meinedomain.de/index.php?42&tx_mjseventpro_pi1[showUid]=598, wenn ich aber mit den Zeilen

plugin.tx_powermail_pi1.prefill.uid47 = TEXT
plugin.tx_powermail_pi1.prefill.uid47.data = GPvar:tx_mjseventpro_pi1[showUid]

diese Variable in das Formularfeld.uid47 holen möchte, dann wird mir wieder ein leeres Formularfeld angezeigt.?????

einpraegsam.​net ·
mila schrieb

diese Variable in das Formularfeld.uid47 holen möchte, dann wird mir wieder ein leeres Formularfeld angezeigt.?????

Weil es falsch ist

plugin.tx_powermail_pi1.prefill.uid47 = TEXT
plugin.tx_powermail_pi1.prefill.uid47.data = GPvar:tx_mjseventpro_pi1|showUid
mila ·

Bin noch nicht viel weiter. Wie gesagt: uid47 funktioniert, nachdem ich den Fehler ausgebessert hatte. Bei uid48 geht's noch nicht

plugin.tx_powermail_pi1 {
        15=LOAD_REGISTER
        15{
                reiseziel.cObject=TEXT
                               
                RECORDS{
                source.data=GPvar:tx_mjseventpro_pi1|showUid
                tables=tx_mjseventpro
                conf.tx_mjseventpro{
                        field=title
                        }
                }
        }
               
        prefill {
                uid48 = TEXT
                uid48.data>reiseziel.cObject
                uid48.wrap = |
        }
}
mila ·

So, jetzt hab ich nochmal deinen Vorschlag durchgemacht:

temp_reiseziel=CONTENT
temp_reiseziel {
	tabel=tx_mjseventpro
	select{
		pidInList=48
		anWhere{
		data=GPvar:tx_mjseventpro_pi1|showUid
		wrap=tx_mjseventpro.uid=|
		}
	}
	renderObj=COA
	renderObj.10=TEXT
	renderObj.10{
		field=title
		}
	}	
	
	
plugin.tx_powermail_pi1{
	prefill{
		uid48<temp_reiseziel
		uid48.wrap=<b>|</b>
		}
	}

Ergebnis ist, dass im Formularfeld folgendes erscheint: <b>|</b>

Sorry, ich hoffe, du wirst nicht ungeduldig...

mila ·

Moment, hab gerade den Schreibfehler tabel in table ausgebessert, jetzt erscheint im Formularfeld zumindest ein title aus der mjseventpro-Tabelle, aber noch nicht ganz der Richtige. Muss weiterforschen, woran das jetzt wieder liegt.

So, da war noch ein Schreibfehler (anWhere statt andWhere) und jetzt erscheint wieder <b>|</b> im Formular #evil#

mila ·

Jetzt funktioniert's. Der Fehler war die pidInList. Dort war der falsche Wert eingetragen.
Nur beim Datum wird der Datenbankwert ausgegeben und nicht das schöne TT.MM.JJJJ-Format. Aber das dürfte ich auch noch hinkriegen. Vielen Dank für die Geduld!

mila ·

Ich glaub, ich steh heut auf dem Schlauch. Kannst du mir vielleicht noch den genauen TS für strftime geben? Bitte bitte bitte! Danke Danke Danke!

mila ·

Warum nicht gleich so! 😃
Danke! Was würde ich nur ohne dich tun....und ohne all die anderen in diesem Forum!
Ich hab's immer gewusst: bei Typo3 darf man bloß nicht aufgeben...