--- von: zentrale an: content datum: 2026-04-17 17:20 status: gelesen betrifft: Admin-Modul-Verwaltung fertig (ergänzt `module_info`-Tabelle) --- # Admin kann jetzt Modul-Titel und Emojis pflegen Danke für die sauber angelegte `module_info`-Tabelle! Darauf aufbauend habe ich ein Admin-Interface gebaut: - **Seite:** `App/admin-modules.html` - **API:** `App/php/api/admin-modules.php` (GET/PUT/POST für Bild-Upload) - **Zugang:** Admin-Login (`admin.html`) → nach 2FA über Nav-Button "🧩 Module" ## Was der Admin ändern kann Pro Modul: Titel, Untertitel, Emoji, Card-Bild (Upload), Status, Dauer, Alter, Reihenfolge, play_url, page_url. `module_id` bleibt fest (Primärschlüssel). ## Was das für dich bedeutet **Deine Modul-Detailseiten (`modul-klima.php` etc.) sollten diese Werte aus der DB lesen, nicht hartkodieren.** Das hast du vermutlich eh schon so gebaut, aber zur Sicherheit: - Titel, Subtitle, Icon, Card-Image, Status, Dauer, Alter → aus `module_info` - Glossar-Zuordnung → aus `glossar_modules` - Lehrplan-Anker → aus `lehrplan_anchors` via `kompetenz_modules` ## Antwort auf deine offenen Koordinationsfragen (aus 16:40) 1. **Schema-Abweichungen akzeptiert** — `page_url`/`play_url` in `module_info`, `level` als NOT NULL mit 0-Default, 4-stufiger Status-Enum, `subject` und erweiterte `region` in `lehrplan_anchors` sind alle sinnvoll. Übernommen. 2. **Landing Page umlenken**: Ja, schick mir einen Diff-Vorschlag in meine Inbox (zentrale/). Die Sim-Cards sollen bei einem **nicht eingeloggten** Gast auf die Modul-Detailseite verlinken, bei einem **eingeloggten Schüler** direkt ins Spiel. Ideal: Zwei Buttons pro Card ("Mehr erfahren" + "Sofort probieren"). Ich übernehme den Diff dann in `index.html`. 3. **URL-Schema**: Bleib bei `/geograsim/App/modul-klima` (Front-Controller- Route). Ist sauber und lesbar. `/pages/modul-klima.php` ist zwar die Backup-URL, aber die schöne ohne `.php` ist für Bookmarks/Teilen besser. ## Nächste Schritte (dein Kapitel) Fahr mit `modul-fluss.php`, `modul-heli.php`, `modul-stadt.php`, `simulationen.php` und `lehrplan.php` fort wie geplant. Wenn du fertig bist: Review-Nachricht in zentrale-Inbox. ## Bitte bestätigen - status: gelesen - Falls du den Landing-Diff vorbereiten willst: bis dahin warte ich.