world-game/site/controllers/site.php
isUnknown cbe89acb21 Migration vers architecture Svelte + Kirby inspirée de design-to-pack
- Mise en place de Svelte 4 avec Vite pour le frontend (SPA)
- Simplification des templates PHP (header/footer minimalistes)
- Création de templates JSON pour API (home, about, expertise, portfolio, jouer, game, blog, article, project)
- Ajout d'un controller de site pour définir genericData globalement
- Structure des stores Svelte (page, navigation, locale, site)
- Router avec navaid pour navigation SPA et interception des liens
- Composants layout (Header, Footer, Cursor) et vues de base
- Build Vite vers assets/dist/ (index.js/css)
- Header PHP détecte assets/dist pour basculer dev/prod

Architecture fonctionnelle de base établie, à améliorer et compléter.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-06 16:30:15 +01:00

37 lines
1.1 KiB
PHP

<?php
return function ($page, $kirby, $site) {
// Generic page data available in all templates
$genericData = [
'title' => $page->title()->value(),
'url' => $page->url(),
'uri' => $page->uri(),
'template' => $page->intendedTemplate()->name(),
'modified' => $page->modified('Y-m-d'),
'site' => [
'title' => $site->site_title()->value(),
'url' => $site->url(),
'logo' => $site->logo()->toFile()?->url(),
'language' => $kirby->language()?->code() ?? 'fr',
'languages' => $kirby->languages()->map(function($l) {
return [
'code' => $l->code(),
'name' => $l->name()
];
})->values(),
'navigation' => $site->main_navigation()->toStructure()->map(function($item) use ($kirby) {
$linkedPage = $item->link()->toPages()->first();
return [
'label_fr' => $item->label_fr()->value(),
'label_en' => $item->label_en()->value(),
'url' => $linkedPage?->url(),
'isActive' => $linkedPage?->isOpen() ?? false
];
})->values()
]
];
return [
'genericData' => $genericData
];
};