Closed babastienne closed 1 year ago
Dans les suggestions de la page d'accueil, nous avons actuellement la possibilité de remonter des ids
(comme pour les autres types). Par exemple :
{
"titleTranslationId": "home.events",
"iconUrl": "/icons/category-events.svg",
"ids": ["1", "5"],
"type": "events"
}
Ici il s'agit de faire cohabiter cette nouvelle fonctionnalité avec l'existant :
{
"titleTranslationId": "home.events",
"iconUrl": "/icons/category-events.svg",
"numberOfNextEventsToDisplay": 5,
"type": "events"
}
Dans cette situation si ids
est renseigné, il sera ignoré au profit de numberOfNextEventsToDisplay
.
NB: Ce développement sera plus rapide si https://github.com/GeotrekCE/Geotrek-admin/issues/3458 est mis en place.
Aujourd'hui nous manipulons une boucle <endpointType>/<id>/
par rapport à la liste définit par ids
pour chaque suggestion et pour cette fonctionnalité une liste.
Si nous pouvons indiquer une liste d'IDs en paramètre d'une boucle, la refacto globale des suggestions se résumerait par un
`<endpointType>/?id[]=${[...ids]}/`
et pour cette fonctionnalité
`/touristicevent/?updated_after=${today}&page_size=${numberOfNextEventsToDisplay}`
Oui cette demande de fonctionnalité m'est déjà remonté aussi.
Par contre, pour être bien au clair, comment on choisit les 5 événements à afficher si on en a 15 dans le future ? Il est souhaité de remonter les événements à venir les plus proches de la date actuelle ?
Pour moi, il ne faut pas utiliser updated_after
, cela veut juste que l'objet a été modifié après la date fournie. C'est utilisé pour synchroniser des données entre 2 bases de données.
Pour retrouver les événements à venir, on compare la date de fin avec la date du jour. Mais il faudrait pouvoir les ordonner par date, pour ne prendre que les 5 premiers. Pas possible avec l'API actuellement il me semble.
PS : C'est UPCOMING, plutôt que NEXT il me semble, si on veut parler des événements à venir.
Oui en effet, mieux d'utiliser Upcoming.
Et oui, il faut remonter les 5 plus proches de la date du jour dans l'hypothèse où il y a plus de 5 évènements à venir.
D'ailleurs, il faut aussi gérer le cas où il y a moins d'évènements à venir que le nombre configuré dans les paramètres.
Le champ begin_date
de l'API peut servir pour retrouver l'information. Attention car il peut arriver que cette valeur soit antérieure à la date du jour (dans les cas d'évènements sur plusieurs jours).
Oui c'est pour ça qu'on utilise end_date
et pas begin_date
.
Par exemple il y a des expositions qui durent 6 mois. La date de début est passée depuis longtemps, mais l'expo est en cours car la date de fin est supérieure à la date du jour.
Proposition de paramètres à ajouter dans la configuration de la page d'accueil :
Par défaut ajout de l'encart au-dessus de la zone custom footer html.