- Laravel 11, Blade, Alpine.js, Tailwind CSS - Produkt- & Kategorieverwaltung mit Varianten - Checkout (Vorkasse + Rechnung), Session-Warenkorb - Admin-Backend (Dashboard, Bestellungen, Kunden, CMS) - DSGVO-konform: Cookie-Consent, Impressum, Widerruf, AGB - PDF-Rechnung via dompdf, SMTP-Mailversand - Kundenverwaltung mit manueller Freischaltung Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
2.4 KiB
PHP
30 lines
2.4 KiB
PHP
@extends('layouts.admin')
|
|
@section('title', isset($banner) ? 'Banner bearbeiten' : 'Neuer Banner')
|
|
@section('content')
|
|
<div class="max-w-xl">
|
|
<form method="POST" action="{{ isset($banner) ? route('admin.banners.update', $banner) : route('admin.banners.store') }}" enctype="multipart/form-data" class="bg-white rounded shadow p-6 space-y-4">
|
|
@csrf @if(isset($banner)) @method('PUT') @endif
|
|
|
|
<div>
|
|
<label class="block text-sm font-medium mb-1">Bild *</label>
|
|
@if(isset($banner) && $banner->image)<img src="{{ asset('storage/'.$banner->image) }}" class="h-20 mb-2 rounded">@endif
|
|
<input type="file" name="image" accept="image/*" {{ !isset($banner) ? 'required' : '' }} class="text-sm">
|
|
</div>
|
|
<div><label class="block text-sm font-medium mb-1">Überschrift</label><input type="text" name="headline" value="{{ old('headline', $banner->headline ?? '') }}" class="w-full border rounded px-3 py-2 text-sm"></div>
|
|
<div><label class="block text-sm font-medium mb-1">Untertext</label><input type="text" name="subtext" value="{{ old('subtext', $banner->subtext ?? '') }}" class="w-full border rounded px-3 py-2 text-sm"></div>
|
|
<div class="grid grid-cols-2 gap-4">
|
|
<div><label class="block text-sm font-medium mb-1">Button-Text</label><input type="text" name="button_label" value="{{ old('button_label', $banner->button_label ?? '') }}" class="w-full border rounded px-3 py-2 text-sm"></div>
|
|
<div><label class="block text-sm font-medium mb-1">Button-Link</label><input type="text" name="button_link" value="{{ old('button_link', $banner->button_link ?? '') }}" class="w-full border rounded px-3 py-2 text-sm"></div>
|
|
</div>
|
|
<div class="flex gap-4">
|
|
<div><label class="block text-sm font-medium mb-1">Reihenfolge</label><input type="number" name="sort_order" value="{{ old('sort_order', $banner->sort_order ?? 0) }}" class="w-24 border rounded px-3 py-2 text-sm"></div>
|
|
<div class="flex items-end pb-2"><label class="flex items-center gap-2 text-sm"><input type="checkbox" name="active" value="1" {{ old('active', $banner->active ?? true) ? 'checked' : '' }}> Aktiv</label></div>
|
|
</div>
|
|
<div class="flex gap-3 pt-2">
|
|
<button type="submit" class="bg-blue-600 text-white px-5 py-2 rounded hover:bg-blue-700 text-sm">Speichern</button>
|
|
<a href="{{ route('admin.banners.index') }}" class="px-5 py-2 rounded border text-sm hover:bg-gray-50">Abbrechen</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
@endsection
|