From 95e19818fd1968609905c5c5ef506dbac59a6b81 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 4 May 2026 02:16:04 +0200 Subject: [PATCH] =?UTF-8?q?Lehrplan:=20Country-Default=20=C3=BCberall=20AT?= =?UTF-8?q?,=20=C3=BCbergreifend=20land-agnostisch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auftrag von Thomas: Default-Filter überall auf Österreich, andere Länder weiterhin wählbar. Modul-Detailseiten (gemeinsamer Partial): - Filter-Chip mit data-country=Country::current() bekommt Klasse active server-seitig (statt "🌐 Alle Länder") - Country.php in Partial eingebunden - JS-Filter-Logik überarbeitet: bei konkretem Land werden NUR anchor_type='fach' Anker streng nach Land gefiltert; übergreifende Themen und andere Fächer bleiben sichtbar (sind primär aus dem AT-Lehrplan abgeleitet, didaktisch land-agnostisch nutzbar) - applyFilter() wird beim Page-Load mit dem aktiven Chip ausgeführt Lehrplan.php: - gleiche Filter-Logik gespiegelt (war vorher streng auch für übergreifend/andere_fach) - Default war schon Country::current(), bleibt unverändert Verifiziert: alle 10 aktiven modul-*.php-Seiten zeigen AT als Default-active, Lehrplan-Seite ebenfalls. Co-Authored-By: Claude Opus 4.7 (1M context) --- App/pages/_partials/modul_detail.php | 47 ++++++++++++++++++++++------ App/pages/lehrplan.php | 13 ++++---- App/sims/_inbox/content/_status.md | 17 ++++++++++ 3 files changed, 61 insertions(+), 16 deletions(-) diff --git a/App/pages/_partials/modul_detail.php b/App/pages/_partials/modul_detail.php index 483fae1..5624479 100644 --- a/App/pages/_partials/modul_detail.php +++ b/App/pages/_partials/modul_detail.php @@ -27,6 +27,7 @@ if (!isset($MODULE_ID) || !is_string($MODULE_ID)) { require_once __DIR__ . '/../../php/config/app.php'; require_once __DIR__ . '/../../php/config/db.php'; require_once __DIR__ . '/../../php/lib/EasyLang.php'; +require_once __DIR__ . '/../../php/lib/Country.php'; $db = getDB(); @@ -108,6 +109,9 @@ $countryMeta = [ 'CH' => ['flag' => '🇨🇭', 'label' => 'Schweiz'], 'LI' => ['flag' => '🇱🇮', 'label' => 'Liechtenstein'], ]; + +// Default-Land aus Kaskade Session/Cookie/AT — als initialer Anker-Filter aktiv +$qCountry = Country::current(); ?> @@ -578,9 +582,9 @@ $countryMeta = [

- + $info): ?> - @@ -679,22 +683,47 @@ $countryMeta = [ diff --git a/App/pages/lehrplan.php b/App/pages/lehrplan.php index eec6f3f..f83b379 100644 --- a/App/pages/lehrplan.php +++ b/App/pages/lehrplan.php @@ -681,19 +681,18 @@ $categoryMeta = [ // Anker-Filter: Land + Typ k.querySelectorAll('.lp-anchor').forEach(a => { let hide = false; - // Land: nur Anker mit Land vs gewaehltem Land einblenden; uebergr. + andere_fach sind landes-agnostisch, aber haben country=AT o.ae. als Default + // Land-Filter (Default = aktuelles Land aus Country::current(), in der Regel AT): + // - anchor_type='fach' wird strikt nach Land gefiltert + // - uebergreifende Themen + andere Faecher bleiben sichtbar + // (sie sind primaer aus dem AT-Lehrplan abgeleitet, didaktisch + // land-agnostisch nutzbar) if (state.country && state.country !== 'ALL') { const anchorCountry = a.dataset.country; const type = a.dataset.anchorType; - // Bei Fach-Ankern strikt auf Land filtern; bei übergreifenden und andere_fach Anker nur AT-Anker zeigen (wo das Lehrplan-System uebergreifend AT ist). - // Alternative: Wenn country != AT gewaehlt, zeigen wir uebergreifende + andere_fach weiter, - // aber nur Fach-Anker werden gefiltert — so bleibt das Lehrplan-Prinzip sichtbar. if (type === 'fach') { if (anchorCountry && anchorCountry !== state.country) hide = true; - } else { - // Fuer uebergreifend/andere_fach: zeige nur die, deren country matched (meist AT) - if (anchorCountry && anchorCountry !== state.country) hide = true; } + // anchor_type !== 'fach': land-agnostisch sichtbar lassen } if (state.type && a.dataset.anchorType !== state.type) hide = true; diff --git a/App/sims/_inbox/content/_status.md b/App/sims/_inbox/content/_status.md index f9e9d7a..d71cc73 100644 --- a/App/sims/_inbox/content/_status.md +++ b/App/sims/_inbox/content/_status.md @@ -12,6 +12,23 @@ session_id: lehrplan-apr24-may03 - Module-Inventar: 14 Module (drei neue durch Atlas/Modul-Instanzen hinzugekommen: farmer beta, sonnensystem beta, busfahrt geplant) +### Country-Default überall AT (2026-05-03 später) + +- modul_detail-Partial: aktiver Filter-Chip = `Country::current()` + (Default 'AT'); kein "🌐 Alle Länder" mehr als Default-aktiv +- Filter-Logik überarbeitet: bei konkretem Land + • anchor_type='fach' wird streng nach Land gefiltert + • uebergreifend + andere_fach bleiben land-agnostisch sichtbar +- Lehrplan.php: gleiche Logik gespiegelt — übergreifende Themen + bleiben bei jedem Länder-Filter sichtbar +- Country-Picker im Header zeigt aktuelles Land, Wechsel reloaded + Seite mit neuem Filter +- Verifiziert: alle 10 aktiven Modul-Seiten + lehrplan haben AT + als Default-active + +Energiemanager-Glossar: ist bereits 12 Begriffe stark (>=10), +Atlas' Zählung war veraltet. Keine Aufstockung nötig. + ### Vier Module + Heli-Vertiefung (2026-05-03 nachmittags) - Neue Kompetenz `landwirtschaft-klimazonen` (Köppen-Geiger,