Aller au contenu principal

Comment sauvegarder une recherche favorite dans Easy2Do ?

Easy2Do permet de sauvegarder des recherches favorites pour faciliter l'accès à des données fréquemment consultées. Cela peut être particulièrement utile pour les utilisateurs qui ont besoin de retrouver rapidement des informations spécifiques sans avoir à refaire les mêmes étapes de recherche à chaque fois.

L'objectif de ce cookbook est de fournir une vue d'ensemble claire et des ressources pour implémenter efficacement la gestion des recherches favorites dans une application Easy2Do.

Code source complet

Le code complet (structure de répertoires, tests, configuration) est disponible dans le repo d’exemples Doing.

➡ Easy2Do : https://bitbucket.org/doingfr/doing-cookbooks-examples/src/main/e2d-recherche-favorite/easy2do/

➡ Pour installer le SQL : .../?bModeInstallModule=1&szModulesPourInstall=commande

Easy2Do : 1h Total : 1h

TL;DR

  • Savoir sauvegarder une recherche favorite dans Easy2Do.
  • Savoir gérer et accéder rapidement aux recherches favorites.

Prérequis

ÉlémentVersion / Remarque
PHP8.4
E2D - Core2.18
E2D - Bdd3.0
E2D - Auth1.8
E2D - Menu1.1

Gestion native des droits d'accès

Comme pré-requis, il est nécessaire d'avoir une module et une recherche fonctionnels.

Activation des recherches favorites dans la configuration du projet (config/conf.yml) :

bRecherchePreferee: true
info

Rappel : modification d'un fichier de configuration YAML, n'oublie pas de faire un appel avec le paramètre bResetCache pour que les modifications soient prises en compte.

Ensuite, il faut installer la structure de la base de données en appelant l'URL d'installation du module :

.../?bModeInstallModule=1&szModulesPourInstall=easy2do

Dans le contrôleur HTML chargé de distribuer le formulaire de recherche, il suffit d'appeler la méthode vChargeRecherchesSauvegardees du coeur :

public function szGetContenuCentralHTML()
{
...

// Récupération et insertion de la vue de recherche.
$sFichierContenu = $this->szGetFichierPourInclusion('modules', 'commande/vues/recherche.html');
$oContenu = $this->oGetVue($sFichierContenu);
$this->vChargeRecherchesSauvegardees($oContenu);

...
}

Ceci fait, nous voyons apparaître un bouton "Enregistrer la recherche" dans la vue de recherche :

Bouton d'enregistrement de la recherche

Il suffit à l'utilisateur de préparer sa recherche, puis de cliquer sur ce bouton pour sauvegarder la recherche favorite. Un formulaire s'affiche alors pour permettre à l'utilisateur de nommer sa recherche favorite :

Modale de sauvegarde de la recherche

La recherche apparaît désormais dans "Mes recherches préférées" présentes dans le menu de gauche :

Menu de gauche avec les recherches favorites

Au clic sur ce lien, la recherche affiche les résultats attendus.