From 3d24e61e1206259674fbb32a2ed32dbc08880ec5 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Wed, 4 Sep 2024 15:56:19 +0200 Subject: [PATCH] program - calendar filters working --- site/blueprints/pages/event.yml | 11 ++++++- site/blueprints/pages/program.yml | 21 +++++++++---- site/controllers/program.php | 1 + site/templates/program.php | 50 ++++++++++--------------------- 4 files changed, 42 insertions(+), 41 deletions(-) diff --git a/site/blueprints/pages/event.yml b/site/blueprints/pages/event.yml index 1cbf726..a3a1c2c 100644 --- a/site/blueprints/pages/event.yml +++ b/site/blueprints/pages/event.yml @@ -164,7 +164,16 @@ tabs: label: Réglages icon: cog fields: - color: fields/color + category: + label: Catégorie + type: select + width: 1/4 + options: + type: query + query: page.parent.parent.categories.split + color: + extends: fields/color + width: 3/4 mapadoLine: type: line isMapadoEvent: diff --git a/site/blueprints/pages/program.yml b/site/blueprints/pages/program.yml index fe87147..2066dc0 100644 --- a/site/blueprints/pages/program.yml +++ b/site/blueprints/pages/program.yml @@ -13,9 +13,18 @@ tabs: contentTab: label: Calendrier icon: calendar - sections: - seasons: - label: Saisons - type: pages - template: season - info: "{{ page.children.count }} événements" + columns: + - width: 1/2 + fields: + categories: + label: Catégories d'événement + type: tags + max: 5 + help: Permet aux visiteurs de filtrer les événements du [programme](/programme). + - width: 1/2 + sections: + seasons: + label: Saisons + type: pages + template: season + info: "{{ page.children.count }} événements" diff --git a/site/controllers/program.php b/site/controllers/program.php index 8745e19..1739eae 100644 --- a/site/controllers/program.php +++ b/site/controllers/program.php @@ -38,6 +38,7 @@ function createArraySession($event, $session) { $arraySession['ticketingUrl'] = $isMapadoEvent ? $session->ticketingUrl() : false; $arraySession['bookableStock'] = $isMapadoEvent ? $session->bookableStock()->value() : 'free'; $arraySession['color'] = $event->color(); + $arraySession['category'] = $event->category(); return $arraySession; diff --git a/site/templates/program.php b/site/templates/program.php index 57be161..a8c4895 100644 --- a/site/templates/program.php +++ b/site/templates/program.php @@ -29,39 +29,19 @@ :class="tab === title ? 'strong' : ''" @click="if (tab === title) { tab = 'Programme' } else {tab = title}" > - - - + categories()->split() as $filter): ?> + +

@@ -101,7 +81,8 @@ } catch (\Throwable $th) { throw new Exception($session['title'], 1); } - ?> + ?> +