Implémentation des Custom Fields dans Jevents

Suite à l'article de daneel sur le forum de Joomla., concernant le nouveau snippets de Google lié à l’annulation des évènements suite au confinement du printemps 2020 j'ai mis le nez dans les custom fields de Jevents.

custom fields est un plugin payant de Jevents (accessible dès la licence "silver").

Il faut l'installer et l'activer pour voir un nouveau lien de menu "champs personnalisés" s'afficher dans l'administration de Jevents.

Mon idée était de créer des champs perso pour chaque évènement :

  • Champ liste :
    • évènement maintenu (valeur : 0)
    • évènement reportés (date à déterminer) (valeur :10)
    • évènement reporté (date déterminée) (valeur : 11)
    • évènement annulé (valeur : 99)
  • Champ : nouvelle date (si le champ précédent == 11)

En fait ces valeurs sont définies ainsi car j'exploite déjà ce type d'information dans un calendrier dynamique de compétitions, avec gestion des reports.

Bon de prime abord, je me suis dit, chouette, c'est du Custom Fields selon le framework de Joomla intégré à Jevents, je connais déjà, cela va être facile.
En fait à la création, il y a déjà un truc qui m'alarme, c'est le nom du fichier en entête du formulaire de saisie des groupe de champs.

Allez, vous l'aurez compris, le cuctom fields de Jevents, c'est du propriétaire, et pas l’intégration des custom fields du framework de Joomla.

Toutefois le fonctionnement est vu d'une façon assez similaire.

Il peut y avoir plusieurs groupes de groupes de champs, dont la description sera enregistrée dans des fichiers xml dont on donnera le nom dans le formulaire de création des champs.
Si le nom du fichier n'est pas donné, le plugin génerera un nom aléatoirement..

Ces fichiers xml sont stockés dans le dossier du plugin, en /plugins/jevents/jevcustomfields/customfields/templates/nom_du_fichier.xml

Un fois completé dans le formulaire de saisie d'un évènement, les valeurs pour chaque evdet_id sont stockées dans la table #__jev_custom_fields

C'est donc ici que je vais recuperer la valeur pour mon plugin qui devra generer le bon tag Google Structured Data selon l'info de Google...

Il y a aussi la table #__jev_customfields_combined quie est utilisée par le plugin, mais pour l'instant je n'ai pas encore cerné l'usage.