diff --git a/site/controllers/site.php b/site/controllers/site.php index 5ee297d..75b5cdb 100644 --- a/site/controllers/site.php +++ b/site/controllers/site.php @@ -1,6 +1,11 @@ find('home'); + $navPages = $homePage + ? $site->pages()->listed()->prepend($homePage->id(), $homePage) + : $site->pages()->listed(); + // Generic page data available in all templates $genericData = [ 'title' => $page->title()->value(), @@ -19,13 +24,19 @@ return function ($page, $kirby, $site) { 'name' => $l->name() ]; })->values(), - 'navigation' => $site->main_navigation()->toStructure()->map(function($item) use ($kirby) { - $linkedPage = $item->link()->toPages()->first(); + 'navigation' => $navPages->map(function($p) use ($kirby) { + $titles = []; + foreach ($kirby->languages() as $lang) { + $titles[$lang->code()] = $p->content($lang->code())->title()->value(); + } + if (empty($titles)) { + $titles['fr'] = $p->title()->value(); + } return [ - 'label_fr' => $item->label_fr()->value(), - 'label_en' => $item->label_en()->value(), - 'url' => $linkedPage?->url(), - 'isActive' => $linkedPage?->isOpen() ?? false + 'id' => $p->uid(), + 'url' => '/' . $p->uri(), + 'title' => $p->title()->value(), + 'titles' => $titles ]; })->values() ] diff --git a/src/App.svelte b/src/App.svelte index a640dc0..81a143d 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,8 +1,7 @@