[HOWTO] Einzelne Empfänger per Checkboxen auswählen
1. FE_Users (Alternativ auch tt_address oder ähnliches) mit E-Mail Adressen anlegen (UID merken):
Bild: design-and-style.de/…/pm_r1.jpg
2. Checkbox im Powermail Formular anlegen (Hier auf die uid der fe_users achten und wieder eintragen):
Bild: design-and-style.de/…/pm_r2.jpg#
3. SQL Abfrage beim Empfänger auswählen:
Bild: design-and-style.de/…/pm_r3.jpg
4. Das wars - Grüße, Alex
Hallo Alex,
ist zwar schon etwas älter aber dennoch:
Super tipp - vielen Dank.
Hast du vielleicht auch noch eine Idee, wie man jetzt in z.B. Bestätigungsmails o.dgl. wieder den Text angezeigt bekommt und nicht die ID?
Also in deinem Beispiel "receiver1" statt "1"?
Das würde die Lösung perfekt machen.
Gruß
Dirk
Typoscript select Abfrage
Hallo,
ich muß noch einmal dumm nachfragen.
Wie kann ich lib.object auf der Antwortseite referenzieren.
Und wie bekomme ich die Auswahl in TS refenziert?
Mit ###UID72### komme ich ja wahrscheinlich nicht weiter. Oder?
lib.object = CONTENT
lib.object {
table = fe_users
select {
pidInList = 551
where = uid = 72
# where = uid = ###UID72###
}
renderObj = COA_INT
renderObj {
10 = TEXT
10.field = name
10.wrap = |
}
}
Bin ich überhaupt auf dem richtigen Weg?
Gruß
Dirk
Hallo Alex,
die Antwort auf die erste Frage habe ich inzwischen selbst herausbekommen.
Man braucht den Prefix POWERMAIL_TYPOSCRIPT. Steht sogar in der Doku. #paralyzed#
Fehlt also nur noch die Referenzierung des Feldes in TS.
Was muß statt
where = uid = ###UID72###
da stehen?
Wäre nett, wenn du mir da noch auf die Sprünge helfen könntest.
Gruß
Dirk
..und jetzt kommt die Lösung:
plugin.tx_powermail_pi1.dynamicTyposcript {
receiver = CONTENT
receiver {
table = fe_users
select {
pidInList = 551
andWhere.data = TSFE:fe_user|sesData|powermail_356|uid72
andWhere.wrap = uid=|
}
renderObj = COA_INT
renderObj {
10 = TEXT
10.field = name
10.wrap = |
}
}
}
Dieses
"andWhere.data = TSFE:fe_user|sesData|powermail_356|uid72"
hat mir dabei ziemliches Kopfzerbrechen bereitet.
Vielleicht könnte man das bei passender Gelegenheit in der Doku etwas deutlicher schreiben. Vor allem, dass (in dem vorliegenden Beispiel) die 356 die uid des Content-Elementes (nicht des Formulares) ist.
Abgesehen davon schüttle ich so einen TSFE-String auch nicht aus dem Ärmel. Das liegt aber widerum an der Dokumentationslage von Typo3 allgemein. Ich weiss nicht, wie es da anderen geht.
Dirk
Nunja, das Handbuch von Powermail umfasst jetzt schon ca. 90 Seiten. Klar kann man noch tausend weitere Beispiele mit aufnehmen, aber das halte ich für kontraproduktiv.
Hier z.B. zwei ähnliche Problemlösungen, die man dann auch aufnehmen müsste:
#87081
#86451
and so on...
Cheers
Hallo Alex,
ja das verstehe ich. Ich sehe auch deine große Leistung für die Community. Vielen Dank dafür.
Ich würde auch nicht unbedingt dafür plädieren, weitere Beispiele in die Doku aufzunehmen. Das wäre wirklich ein unendliches Unterfangen, wenn man sich die zahlreichen Diskussionen so ansieht.
Es geht mir persönlich eher darum, dass die (in diesem Fall) Powermail-spezifischen Fakten möglichst vollständig aufgeführt sind.
Zumindest zu dem Konstrukt powermail_356 habe ich nur in einem Forenbeitrag etwas gefunden. Aber vielleicht habe ich das in der Doku auch lediglich übersehen.
Gruß
Dirk
Hallo Dirk,
ich sitze gerade am gleichen Problem, vielleicht kannst du mir kurz dazu was schreiben:
Dirk1 schrieb
plugin.tx_powermail_pi1.dynamicTyposcript {
receiver = CONTENT
receiver {
table = fe_users
select {
pidInList = 551
andWhere.data = TSFE:fe_user|sesData|powermail_356|uid72
andWhere.wrap = uid=|
}
renderObj = COA_INT
renderObj {
10 = TEXT
10.field = name
10.wrap = |
}
}
}
Dirk1 schrieb
pidInList = 551
...ist doch in dem Fall die Seiten ID auf der die fe_users angelegt sind, die als Empfänger herhalten sollen, oder???
Dirk1 schrieb
andWhere.data = TSFE:fe_user|sesData|powermail_356|uid72
und die berühmte 356 ist die tt_content ID vom Powermailformular, oder?
uid72 ist bei mir uid7... und ist die template id des feldes der mehrfachauswahl bei powermail.... ?
ich probiere gerade powermail damit ans laufen zu bekommen, aber er findet die Empfängeradressen nicht. so geht natürlich keine mail raus, ich seh aber die einträge in der DB. der weg zum empfängeremail-string....da verläuft sich was.
und ich vermute es liegt an fehlerhaften ID's.
Thx o.O
Hallo Bloedbiber,
deine Überlegungen scheinen mir allesamt richtig.
Hast du das SQL-Statement mal mit phpMyAdmin getestet?
Und dann gibt es bei powermail einen Debug-modus. Den finde ich sehr hilfreich.
plugin.powermail.debug.output=all
Gruß
Dirk
Je nach Feld kann dein Wert auch eine Ebene tiefer liegen (z.B. bei Checkboxen):
... TSFE:fe_user|sesData|powermail_356|uid72|0
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.
###UID7### musst du schon durch kommaseparierte Zahlen (oder wenigstens eine Zahl) ersetzen, wenn du die Abfrage direkt in phpmyadmin machen willst
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?
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.
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 schrieb
mittlerweile ist die SQL-Query ja aus Sicherheitsgründen abgeschafft worden.
Stimmt nicht, wurde nur ins TypoScript verlegt
Genau, das habe ich doch auch so verstanden. Ändert nichts an der Tatsache, das ich es einfach nicht zusammenkriege, wie das gehen soll...
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
}
Vielen Dank erstmal für Deine Hilfe!
Habe heute keinen Nerv mehr, werde mir das morgen mal anschauen...