Moin zusammen,
sorry, dass ich so lange abwesend sein musste
.
Habe mich jetzt wieder damit beschäftigen können und das noch mal etwas anders gemacht. Ich habe gelernt, dass man die Formulardaten auch gleich wunderbar mit sowas simplem übergeben kann ...
PHP-Code:
jQuery('form').on('submit', function (e) {
e.preventDefault();
jQuery.ajax({
type: 'post',
url: '/ajax-database-jobs',
data: jQuery('form').serialize(),
success: function (data) {
...
}
});
});
Damit entfällt das ganze rumgehampel mit dem einzelnen Auslesen von oben und das ist natürlich viel einfacher und klarer. Wenn man weiß wie, ist vieles einfacher...
Aber ... die eigentliche Kernproblematik besteht weiterhin. Ich bekommen in der E-Mail für ein bestimmtes Token keine Zeilenumbrüche ausgegeben. Etwas eingekürzt sieht mein Modul auf der obigen Seite so aus:
PHP-Code:
#[AsFrontendModule('inquiryConfirmation', category:'miscellaneous', template:'mod_inquiryConfirmation')]
class inquiryConfirmation extends AbstractFrontendModuleController
{
public function __construct(private NotificationCenter $notificationCenter) {}
protected function getResponse(Template $template, ModuleModel $model, Request $request): Response
{
if (\Contao\Input::post('transfer_arr') ) {
$order = \Contao\Input::post('transfer_arr');
...
$orderList = '';
foreach($order as $orderItem) {
$orderList = $orderList . $orderItem['item_amount'] . " ";
$orderList = $orderList . $orderItem['item_pack_unit'] . " ";
$orderList = $orderList . $orderItem['item_product_name'];
$orderList = $orderList . "\n";
}
$notificationId = 16;
$tokens = ['order' => $orderList];
$receipts = $this->notificationCenter->sendNotification($notificationId, $tokens);
}
return $template->getResponse();
}
}
In der E-Mail später wird aus immer ein langer String. Egal wie ich bisher versucht habe $orderList zu bauen ... nichts hat funktioniert und alle Ausgaben werden immer hintereinander in einer Zeile in der E-Mail ausgegeben.
Ich möchte erreichen, dass im E-Mail später an der Stelle des Tokens , z.B.
2 Eimer Wandfarbe Superweiss, 5l
1 Pinsel Easystreich, lange Borsten
...
steht.
Ich hoffe nun konnte ich das etwas klarer darstellen? Danke für eure Geduld ;-)