= esc($k['description']) ?>
prepare('SELECT module_id, title, icon, card_image, status, page_url FROM module_info WHERE module_id = ?'); $stmt->execute([$qModule]); $moduleFocus = $stmt->fetch() ?: null; if (!$moduleFocus) $qModule = ''; // ungueltiger Slug } // Kompetenzen laden — optional gefiltert auf Modul-Zuordnungen if ($qModule !== '') { $stmt = $db->prepare(' SELECT k.id, k.key_slug, k.title, k.description, k.category, k.age_min, k.age_max, k.sort_order FROM kompetenzen k INNER JOIN kompetenz_modules km ON km.kompetenz_id = k.id WHERE km.module_id = ? GROUP BY k.id ORDER BY k.sort_order, k.title '); $stmt->execute([$qModule]); $kompetenzen = $stmt->fetchAll(); } else { $kompetenzen = $db->query(' SELECT id, key_slug, title, description, category, age_min, age_max, sort_order FROM kompetenzen ORDER BY sort_order, title ')->fetchAll(); } // Module je Kompetenz — nur aktive/beta-Sims, keine geplanten oder archivierten $modStmt = $db->prepare(" SELECT mi.module_id, mi.title, mi.icon, mi.card_image, mi.status, mi.page_url, km.strength FROM kompetenz_modules km INNER JOIN module_info mi ON mi.module_id = km.module_id WHERE km.kompetenz_id = ? AND mi.status IN ('aktiv','beta') ORDER BY FIELD(km.strength, 'primaer', 'sekundaer'), mi.sort_order "); // Anker je Kompetenz $ankerStmt = $db->prepare(" SELECT anchor_type, country, region, school_type, grade, subject, title, reference, reference_url, quote FROM lehrplan_anchors WHERE kompetenz_id = ? ORDER BY FIELD(anchor_type, 'fach', 'uebergreifendes_thema', 'anderes_fach'), country, sort_order "); foreach ($kompetenzen as &$k) { $modStmt->execute([$k['id']]); $k['modules'] = $modStmt->fetchAll(); $ankerStmt->execute([$k['id']]); $rows = $ankerStmt->fetchAll(); $k['anchors_fach'] = array_values(array_filter($rows, fn($r) => $r['anchor_type'] === 'fach')); $k['anchors_uebergreifend'] = array_values(array_filter($rows, fn($r) => $r['anchor_type'] === 'uebergreifendes_thema')); $k['anchors_andere_faecher'] = array_values(array_filter($rows, fn($r) => $r['anchor_type'] === 'anderes_fach')); $k['anchors_all'] = $rows; } unset($k); // Zählungen (global) für Filter-Badges $totalAnchors = (int) $db->query('SELECT COUNT(*) FROM lehrplan_anchors')->fetchColumn(); $countsByCountry = []; foreach ($db->query("SELECT country, COUNT(*) AS n FROM lehrplan_anchors GROUP BY country") as $r) { $countsByCountry[$r['country']] = (int)$r['n']; } $countsByType = []; foreach ($db->query("SELECT anchor_type, COUNT(*) AS n FROM lehrplan_anchors GROUP BY anchor_type") as $r) { $countsByType[$r['anchor_type']] = (int)$r['n']; } /* N.5.2 — Transparenz-Zähler: wie viele Anker werden für die aktuelle Land-Auswahl tatsächlich sichtbar (Fach-Anker des Landes + alle übergreifenden Anker land-agnostisch) */ $factForCountryStmt = $db->prepare( "SELECT COUNT(*) FROM lehrplan_anchors WHERE anchor_type = 'fach' AND country = ?" ); if ($qCountry !== 'ALL') { $factForCountryStmt->execute([$qCountry]); $visibleFach = (int)$factForCountryStmt->fetchColumn(); } else { $visibleFach = (int)($countsByType['fach'] ?? 0); } $visibleUniversal = (int)(($countsByType['uebergreifendes_thema'] ?? 0) + ($countsByType['anderes_fach'] ?? 0)); $bp = BASE_PATH; $easyActive = EasyLang::isActive(); function esc(?string $s): string { return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); } $countryMeta = [ 'AT' => ['flag' => '🇦🇹', 'label' => 'Österreich'], 'DE' => ['flag' => '🇩🇪', 'label' => 'Deutschland'], 'CH' => ['flag' => '🇨🇭', 'label' => 'Schweiz'], 'LI' => ['flag' => '🇱🇮', 'label' => 'Liechtenstein'], ]; $categoryMeta = [ 'klima' => ['label' => 'Klima'], 'natur' => ['label' => 'Naturgefahren'], 'raum' => ['label' => 'Raum'], 'gesellschaft' => ['label' => 'Gesellschaft'], ]; ?>
Diese Ansicht zeigt alle Kompetenzbereiche, die die Simulation = esc($moduleFocus['title']) ?> abdeckt — fachlich, fächerübergreifend und mit Anknüpfungspunkten in weiteren Fächern. Alle GeoGraSim-Simulationen sind auf didaktische Kompetenzbereiche abgebildet. Für jeden Bereich zeigen wir, wo er in den Lehrplänen für Österreich, Deutschland, Schweiz und Liechtenstein verankert ist — fachlich, fächerübergreifend und mit Anknüpfungspunkten in weiteren Fächern.
= esc($k['description']) ?>
Anker sind Beispiele — bitte mit dem konkreten Jahresplan abgleichen. 🌐-Anker sind fächerübergreifend / anderes Fach: aus dem österreichischen Lehrplan abgeleitet, didaktisch ländervergreifend nutzbar.