Schulbuch komplett: 13 Kapitel, je 3 Versionen (Schüler / Leichte Sprache / Lehrperson)
- Gemeinsame Infrastruktur: assets/css/buch.css + pages/_partials/buch_helpers.php (Foto-Slots, Glossar-Tooltips, Nav mit 3-Modi-Umschalter ?leicht=1/?lehrer=1) - Neu: Leichte-Sprache-Version in jedem Kapitel (inklusiver Unterricht): kurze Sätze, eine Aussage pro Zeile, Bindestrich-Komposita, einspaltig, größere Schrift - 12 neue Kapitel: tourismusregion, kofferdetektiv (Themenfeld Reise/Transport/ Flugverkehr/Nachhaltigkeit), busfahrt, logistik (Alpentransit), weltkueche, farmer, klima (2D+3D), fluss (Alpenrhein/Rhesi), energiemanager (Illwerke), heli, sonnensystem, eu-werkstatt — alle mit verifizierten Quellen, echten Sim-Mechanik-Kästen, D-A-CH-Lehrplan-Chips und 7 Foto-Slots mit konkreten Vorschlägen - Pilot tourismustal: geschichte-1948 halb so groß (b-klein), Spielsprache-Fixes - buch.php: 13 Kapitel, Status automatisch aus Dateiexistenz Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* Schulbuch — gemeinsame Helfer für alle Kapitel (buch-<sim>.php)
|
||||
* ---------------------------------------------------------------
|
||||
* Verwendung im Kapitel:
|
||||
* define('BUCH_SIM', 'tourismustal'); // Ordner für Foto-Slots
|
||||
* require __DIR__ . '/_partials/buch_helpers.php';
|
||||
*
|
||||
* Stellt bereit:
|
||||
* $MODE 'schueler' | 'leicht' | 'lehrer' (?leicht=1 / ?lehrer=1)
|
||||
* $LEHRER, $LEICHT Bequemlichkeits-Booleans
|
||||
* buchBild($slug, $vorschlag, $unterschrift, $klein) Foto-Slot
|
||||
* g($slug, $label) Glossar-Tooltip
|
||||
* buchNav($links) Kopfzeile mit Modus-Umschalter
|
||||
*
|
||||
* Fotos: echte Bilder unter assets/img/buch/<BUCH_SIM>/<slug>.jpg ablegen —
|
||||
* Platzhalter tauschen sich automatisch aus. Bild-Exporte immer ohne
|
||||
* EXIF/GPS (magick -strip).
|
||||
*/
|
||||
|
||||
$MODE = 'schueler';
|
||||
if (isset($_GET['lehrer']) && $_GET['lehrer'] === '1') $MODE = 'lehrer';
|
||||
if (isset($_GET['leicht']) && $_GET['leicht'] === '1') $MODE = 'leicht';
|
||||
$LEHRER = ($MODE === 'lehrer');
|
||||
$LEICHT = ($MODE === 'leicht');
|
||||
|
||||
/** Foto-Slot: echtes Bild, sobald es existiert – sonst Platzhalter mit Vorschlag. */
|
||||
function buchBild(string $slug, string $vorschlag, string $unterschrift = '', bool $klein = false): string {
|
||||
global $bp;
|
||||
$cls = $klein ? 'b-foto b-klein' : 'b-foto';
|
||||
foreach (['jpg', 'jpeg', 'webp', 'png'] as $ext) {
|
||||
$rel = 'assets/img/buch/' . BUCH_SIM . "/{$slug}.{$ext}";
|
||||
if (is_file(__DIR__ . '/../../' . $rel)) {
|
||||
$cap = $unterschrift !== '' ? "<figcaption>{$unterschrift}</figcaption>" : '';
|
||||
return "<figure class=\"{$cls}\"><img src=\"{$bp}/{$rel}\" alt=\"" . htmlspecialchars($unterschrift ?: $slug) . "\" loading=\"lazy\">{$cap}</figure>";
|
||||
}
|
||||
}
|
||||
return "<div class=\"b-foto-platzhalter\"><span>📷</span><b>Foto gesucht</b><small>" . htmlspecialchars($vorschlag) . "</small><code>assets/img/buch/" . BUCH_SIM . "/{$slug}.jpg</code></div>";
|
||||
}
|
||||
|
||||
/** Glossar-Begriff mit Tooltip */
|
||||
function g(string $slug, string $label): string {
|
||||
return "<span class=\"ggs-g\" data-glossar=\"{$slug}\">{$label}</span>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Kopfzeile: Links + Modus-Umschalter.
|
||||
* $links: Array [Label => href-relativ-zu-BASE_PATH], z. B.
|
||||
* ['Modulseite' => 'modul-tourismustal', '🎮 Simulation starten' => 'tourismustal', ...]
|
||||
*/
|
||||
function buchNav(array $links): void {
|
||||
global $bp, $MODE;
|
||||
echo '<nav class="b-nav"><a href="' . $bp . '/buch">📖 Schulbuch</a>';
|
||||
foreach ($links as $label => $href) {
|
||||
echo ' · <a href="' . $bp . '/' . $href . '">' . $label . '</a>';
|
||||
}
|
||||
echo '<span class="spacer"></span>';
|
||||
echo '<a class="b-mode ' . ($MODE === 'schueler' ? 'active' : '') . '" href="?">👩🎓 Schüler:innen</a>';
|
||||
echo '<a class="b-mode ' . ($MODE === 'leicht' ? 'active' : '') . '" href="?leicht=1">🌱 Leichte Sprache</a>';
|
||||
echo '<a class="b-mode ' . ($MODE === 'lehrer' ? 'active' : '') . '" href="?lehrer=1">👩🏫 Lehrperson</a>';
|
||||
echo '</nav>';
|
||||
if ($MODE === 'leicht') {
|
||||
echo '<div class="b-leicht-hinweis">🌱 Dieses Heft ist in <b>Leichter Sprache</b>. Kurze Sätze. Einfache Wörter. Die Bilder und Zahlen sind die gleichen wie im großen Heft.</div>';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user