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 = '' . '' . '' . '' . '' . '' . '' . $itemRows . '' . '' . '' . '' . '' . '
ArtikelMengeEinzelpreisGesamt
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)); } }