Closed LinkingYou closed 6 years ago
Habe das selbe Problem. Funktioniert mit Contao 4.4.5 und auch mit Contao 4.4.6 leider nicht.
The merge request fixed the bug in contao4 but does not work in contao3 so i added a version switch. Please test with version 1.0.1 and add a reply here, thanks!
Der Versand der Mail funktioniert nun wie gewünscht an die definierten Empfänger.
Leider ist die Mail aber leer :-(
Ich hab dann mal in der processFormData im Contao-Core geschaut, was dort passiert: Die Nachrichte wir dort komplett richtig zusammegebaut (inkl. aller Eingaben) und dort in einer Variable $message gehalten. In Zeile 379 steht dann folgendes:
// Get subject and message
if ($this->format == 'email')
{
$message = $arrSubmitted['message'];
$email->subject = $arrSubmitted['subject'];
}
Und das verstehe ich nicht. Zumal in der contao-recipientselect Erweiterung in der Methode prepareRecipients ganz am Ende explizit steht:
$objForm->format = 'email';
Tauscht man diesen Werte gegen was ungültig aus (z.B. 'test'), dann wird die Nachricht korrekt verwendet.
Missing call by reference for $objForm
Try: https://github.com/kozi/contao-recipientselect/releases/tag/1.0.2
Rein aus dem Contao-Quelltext würde ich das format = 'email' so interpretieren:
Ist der Parameter gesetzt, dann wird die E-Mail in der Erweiterung gebaut (und durch $arrSubmitted['message'] übergeben). Wenn er nicht gesetzt ist, dann wird die E-Mail aus den einzelnen Werten in $arrSubmitted automatisch zusammengebaut.
In Contao 4 würde also das auskommentieren der Zeile zum Ergebnis führen. Keine Ahnung, was dass aber in Contao 3.x anstellt bzw. wie die Funktion gedacht ist:
//$objForm->format = 'email';
New version 1.0.3. Enable format
and skipEmpty
in DCA tl_form
Super Arbeit. Funktioniert wie gewünscht :-) Danke! 👍
Hi,
ich habe die Erweiterung contao-recipientselect (1.0.0) in Contao 4.4.5 getestet.
Die Backend-Integration sieht gut aus. Aber der Hook beim Mailversand funktioniert leider nicht :-(
In der entsprechenden Funktion prepareRecipients wird scheinbar das $objForm anders erwartet, als Contao es beim Aufruf liefert:
RecipientManager.php:
Der Debugger zeigt direkt nach diesen Zeile folgenden Inhalt für $objForm.
Wenn ich noch etwas zum Debugging beitragen kann, bitte melden.
Gruß Franky