---
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.
