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.
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
TL;DR
- Savoir sauvegarder une recherche favorite dans Easy2Do.
- Savoir gérer et accéder rapidement aux recherches favorites.
Prérequis
| Élément | Version / Remarque |
|---|---|
| PHP | 8.4 |
| E2D - Core | 2.18 |
| E2D - Bdd | 3.0 |
| E2D - Auth | 1.8 |
| E2D - Menu | 1.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
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 :

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 :

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

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