order;
$template = EmailTemplate::getByKey('order_confirmation');
if (!$template) {
return $this
->subject('Bestellbestätigung ' . $order->order_number . ' – ' . Setting::get('shop_name'))
->view('emails.order_confirmation');
}
$itemRows = '';
foreach ($order->items as $item) {
$variant = $item->variant_label ? ' (' . e($item->variant_label) . ')' : '';
$itemRows .= '
'
. '| ' . e($item->product_name) . $variant . ' | '
. '' . $item->quantity . ' | '
. '' . number_format($item->unit_price, 2, ',', '.') . ' € | '
. '' . number_format($item->line_total, 2, ',', '.') . ' € | '
. '
';
}
$itemsTable = ''
. ''
. '| Artikel | '
. 'Menge | '
. 'Einzelpreis | '
. 'Gesamt | '
. '
' . $itemRows . ''
. ''
. '| Zwischensumme | ' . number_format($order->subtotal, 2, ',', '.') . ' € |
'
. '| Versand | ' . number_format($order->shipping_cost, 2, ',', '.') . ' € |
'
. '| Gesamt (inkl. MwSt.) | ' . number_format($order->total, 2, ',', '.') . ' € |
'
. '
';
if ($order->payment_method === 'prepayment') {
$paymentInfo = ''
. 'Bitte überweisen Sie den Betrag auf folgendes Konto:
'
. 'Empfänger: ' . e(Setting::get('shop_owner')) . '
'
. 'Bank: ' . e(Setting::get('bank_name')) . '
'
. 'IBAN: ' . e(Setting::get('bank_iban')) . '
'
. 'BIC: ' . e(Setting::get('bank_bic')) . '
'
. 'Verwendungszweck: ' . e($order->order_number) . '
'
. 'Betrag: ' . number_format($order->total, 2, ',', '.') . ' €'
. '
';
} else {
$days = Setting::get('invoice_payment_days', 14);
$paymentInfo = ''
. 'Sie erhalten Ihre Rechnung separat per E-Mail.
'
. 'Zahlungsziel: ' . $days . ' Tage nach Rechnungserhalt.'
. '
';
}
$customerName = $order->billingAddress()?->full_name ?? $order->guest_email;
$data = [
'customer_name' => $customerName,
'order_number' => $order->order_number,
'order_total' => number_format($order->total, 2, ',', '.'),
'payment_info' => $paymentInfo,
'order_items_table' => $itemsTable,
'shop_name' => Setting::get('shop_name'),
'shop_email' => Setting::get('shop_email'),
'shop_address' => Setting::get('shop_address'),
];
return $this
->subject($template->renderSubject($data))
->html($template->renderBody($data));
}
}