Zum Inhalt springen

Powermail Empfänger im Formular mit Checkboxen selber auswählen

Erstellt am 23. April 2008 · 35 Antworten · letzte Antwort am 9. August 2010 · Seite 2 von 2

Tags: Powermail, Tipp

anders ·

Hallo zusammen,

mittlerweile ist die SQL-Query ja aus Sicherheitsgründen abgeschafft worden. Ich hab mir jetzt schon Stunden einen Wolf gesucht um herauszufinden, wie ich die Auswahl aus mehreren Empfängern per TypoScript realisiert bekomme.

Ich könnte echt dringend einen Tipp gebrauchen, bin noch nicht ganz so fit in TS...

anders ·

Genau, das habe ich doch auch so verstanden. Ändert nichts an der Tatsache, das ich es einfach nicht zusammenkriege, wie das gehen soll...

einpraegsam.​net ·

Blick ins TypoScript der Extension hilft:

plugin.tx_powermail_pi1.email {
email_query = TEXT
email_query.value = SELECT email FROM fe_users WHERE uid = ###UID123### AND disable = 0 AND deleted = 0
}
anders ·

Vielen Dank erstmal für Deine Hilfe!

Habe heute keinen Nerv mehr, werde mir das morgen mal anschauen...

anders ·

Bei mir klappt das irgendwie nicht. Ich schildere jetzt mal was der Stand ist und was ich getan hab:

Die Seite mit dem Formular hat ein ext-template, schon wegen der JavaScript-Validierungs-Geschichte. In diesem Template steht jetzt unter anderem:

plugin.tx_powermail_pi1.email {
email_query = TEXT
email_query.value = SELECT email FROM fe_users WHERE uid = ###UID9### AND disable = 0 AND deleted = 0
}

plugin.tx_powermail_pi1.debug.output=all

Und das Feld mit der ###UID9### ist eine Checkbox in meinem Formular auf derselben Seite, hier habe ich, wie am Anfang im Thread geschildert folgendes drinstehen:

Person1 | 14 | *
Person2 | 15

Wenn ich das Formular aufrufe, kann ich die Checkboxen anklicken. Auf der Bestätigungsseite zeigt mir debug dann Folgendes an:

uid1 Hans Meier
uid2 hans.meier@meier.de
uid3 Nachrichtentext
uid9
0 14
1 15

Gehe ich dann letztmalig auf Absenden, meldet mir debug:

SYSTEM NOTE: No receiver email address.

In die DB habe ich sicherheitshalber auch noch mal geschaut, feusers ist befüllt.

So schwierig ist das doch nicht, ich verstehe nicht was ich übersehen hab...

einpraegsam.​net ·
anders schrieb

So schwierig ist das doch nicht, ich verstehe nicht was ich übersehen hab...

Checkboxen gehen logischerweise ein Level tiefer und können auch mehrere Auswahlkriterien enthalten (im Gegensatz zu Radiobuttons).
Teste mal:

SELECT email FROM fe_users WHERE uid IN(###UID9###) AND disable = 0 AND deleted = 0
anders ·

Vielen Dank für Deine schnellle Hilfe. Habe das direkt mal so probiert. Leider bleibt die SYSTEM NOTE: No receiver email address. 😢

mrgaribaldi ·

Hi,

habe das gleiche Problem... 🙁

Radiobutton-Feld - ###UID188###

Montage | 39
Kundendienst | 40
Verwaltung | 41

plugin.tx_powermail_pi1.email {
      email_query = TEXT
      email_query.value = SELECT email FROM fe_users WHERE uid = ###UID188### AND disable = 0 AND deleted = 0
}
plugin.tx_powermail_pi1.debug.output=all
powermail: Values from session
uid188 	39
receiver  	SYSTEM NOTE: No receiver email address
cc receiver 	SYSTEM NOTE: No cc addresses
anders ·

Obwohl mir die MySQL-Abfrage direkt die richtigen User ausgibt

SELECT email FROM fe_users WHERE uid IN (14,15) AND disable = 0 AND deleted = 0

#paralyzed#

Dirk1 ·
anders schrieb

Obwohl mir die MySQL-Abfrage direkt die richtigen User ausgibt

SELECT email FROM fe_users WHERE uid IN (14,15) AND disable = 0 AND deleted = 0

#paralyzed#

Hast du das statement mal in phpmyadmin o.ä. getestet?

Dirk

Dirk1 ·

So, hallo,

Meine Abfrage sieht im Detail etwas anders aus

select email from fe_users where FIND_IN_SET(###UID31###,usergroup) and disable=0 and pid=564 order by uid

Ich musste nur gerade feststellen, dass es bei mir auch nicht (mehr) funktioniert.
Mir war entgangen, dass die Abfrage jetzt in Typoscript verschoben werden muss.
Damit setzte ich mich jetzt erst einmal auseinander und melde mich danach noch mal.

Dirk

Dirk1 ·

So, es scheint wieder zu funktionieren nit diesem TS-Code:

plugin.tx_powermail_pi1.email.recipient_mail {
	email_query = TEXT
	email_query.value = select email from fe_users where FIND_IN_SET(###UID31###,usergroup) and disable=0 and pid=564 order by uid
}

Die Abfrage liefert mir alle FE-User auf Seite 564, die der gewählten Gruppe (###UID31###) zugeordnet sind (DB-Feld Usergroup).

Dirk

anders ·

Hallo Dirk,

wie würdest Du die Syntax dieses Statements anpassen um es direkt in PMA abzufragen (also den Bereich (###UID31###,usergroup))?

Egal wie ich es umstelle, bekomme nur leere Resultate oder SyntaxErrors...

anders ·

Hallo Dirk,

ok, vergiss es, die SQL-Abfrage funzt bei mir, trotzdem meldet debug mir weiterhin SYSTEM NOTE: No receiver email address...

bipi ·

Hallo
ich sitz gerade vor dem gleichen Problem wie Du damals, ich schaffe es einfach nicht in der Bestätigungsmail wieder den Text angezeigt zu bekommen und nicht die ID?
Du schreibst Du hast es mit dem Prefix POWERMAIL_TYPOSCRIPT hinbekommen, aber was genau muß ich da schreiben?
vielen vielen Dank für Deine Hilfe

Dirk1 ·

Hallo bipi,

komplettes Beispiel:

plugin.tx_powermail_pi1.dynamicTyposcript {
	receiver = CONTENT
	receiver {
		table = fe_groups
		select {
			pidInList = 564
			andWhere.data = TSFE:fe_user|sesData|powermail_356|uid31
			andWhere.wrap = uid=|
		}
		renderObj = COA
		renderObj {
			10 = TEXT
			10.field = title
			10.wrap = | 
		}
	}
}


plugin.tx_powermail_pi1.email.recipient_mail {
	email_query = TEXT
	email_query.value = select email from fe_users where FIND_IN_SET(###UID31###,usergroup) and disable=0 and pid=564 order by uid
}

Wobei pidInList = 564 die Seiten-id ist, auf der die Frontenduser definiert sind.
powermail_356 ist der Platzhalter für das plugin (356 also die content-id)
uid_31 steht für den Wert den das Auswahlfeld während der Auswertung hat (31 also die dazugehörige content-ID)

Versuche das mal mit der Doku in Deckung zu bringen. Dann wird es vielleicht noch klarer.
Ansonsten frag gerne noch mal nach.

Gruß
Dirk

PS: auf das hier definierte content-objekt "receiver" kannst du in der Flexform mit dem Platzhalter "###POWERMAIL_TYPOSCRIPT_RECEIVER###" zugreifen

WhiteShadow ·

Habe hier auch gerade ein Problem. Habe das immer so gemacht mit den alternativen SQL Querry, doch das finde ich jetzt nicht mehr. Habe die neueste Extension als 1.5.3 drauf. Wo finde ich das jetzt?