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 1 von 2

Tags: Powermail, Tipp

bloedbiber ·

Hallo Dirk,

ich nutze den debug modus... 😉
daran sehe ich ja das die receiver mail adresse leer ist. Die übergebene uid des Empfängers ist aber korrekt.

wenn ich die SQL Abfrage (ich bin ziemlicher mySQL Noob)
direkt im phpmyAdmin ausführe erhalte ich einen Synthaxfehler.

SELECT email FROM fe_users WHERE uid IN(###UID7###)

Ich werd mal mein SQL Synthax Wissen ein wenig aufrischen...fehlen wahrscheinlich nur n paar Kleinigkeiten

Da lagst du also richtig..

ich meld mich wie es ausgeht.

einpraegsam.​net ·

###UID7### musst du schon durch kommaseparierte Zahlen (oder wenigstens eine Zahl) ersetzen, wenn du die Abfrage direkt in phpmyadmin machen willst

bloedbiber ·
einpraegsam.net schrieb

###UID7### musst du schon durch kommaseparierte Zahlen (oder wenigstens eine Zahl) ersetzen, wenn du die Abfrage direkt in phpmyadmin machen willst

Hallo einpraegsam

soweit bin ich in 20 min. Schnellauffrischungskurs auch schon gekommen.
Die Abfrage

SELECT email FROM `fe_users` WHERE uid IN(12,13)

gibt mir beide Email Adressen aus. Das funktioniert soweit.

Ich hab schon ewig nix mehr mit der Synthax am Hut, daher hab ich schon das meiste wieder vergessen.

Aber was macht powermail dann aus meiner alternativen SQL Abfrage aus dem BE?

SELECT email FROM fe_users where uid IN(###UID7###)

Sollte doch richtig sein?

bloedbiber ·

Hallo Dirk, hallo einpraegsam.

nachdem ich usergruppe und die fe_user neu eingerichtet habe geht es plötzlich.
dabei war da jetzt nichts anders als vorher. alle gelöscht und neu angelegt. Ich benutzte die gleichen ID's, lediglich die uid hat sich geändert. *kopfschüttel*

danke für euren support.

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