Le PrestaSonataSavedFiltersBundle est un bundle Symfony qui permet de gérer des filtres enregistrés pouvant être appliqués aux listes des admins Sonata afin de les restaurer dans un état précis.
Il s'intègre aux écrans de liste via un menu situé en haut à droite de l'écran, et dispose d'une admin permettant de partager ou protéger les filtres enregistrés avec d'autres utilisateurs.
Simple d'installation et d'utilisation, il permet de proposer à vos utilisateurs des vues personnalisées préconfigurées.
Sonata est un générateur d'admin bien connu dans l'écosystème Symfony.
Entre autres fonctionnalités, il fournit un système de filtres bien pratique pour effectuer des recherches dans une liste de résultats.
Chez PrestaConcept, nous avons développé un bundle permettant de gérer des filtres enregistrés.
Voici en quelques lignes comment il fonctionne...
Une fois le PrestaSonataSavedFiltersBundle installé et configuré, vous aurez accès à un menu supplémentaire depuis la page liste de chaque admin.
Les filtres enregistrés auxquels vous avez accès y apparaîtront selon les critères suivants :
Vous pourrez gérer ces filtres depuis l'admin Sonata dédiée.
Le bundle est prévu pour supporter plusieurs langues et est actuellement traduit en français et en anglais.
Dans le nouveau menu situé en haut à droite de chaque liste, vous trouverez une action vous permettant d'enregistrer l'état actuel de votre liste, incluant ainsi les filtres Sonata appliqués ainsi que les critères de tri.
Après l'avoir nommé et enregistré, vous retrouverez votre filtre en tant qu'élément du menu, et le sélectionner restaurera l'état de la liste au moment où vous l'aviez créé.
Le bundle fournit également une admin dédiée à la gestion des filtres. Vous y retrouverez la liste des filtres enregistrés existants, ainsi que des actions spécifiques.
Il n'existe pas d'action de suppression à proprement parler. Un filtre enregistré sera automatiquement supprimé si plus personne ne l'a ajouté à ses favoris et s'il n'est pas protégé.
Autrement dit, un filtre enregistré non protégé sera supprimé lorsque la dernière personne à l'avoir ajouté à ses favoris l'en retirera. Ce sera également le cas pour un filtre protégé que personne n'a ajouté à ses favoris et dont on viendrait retirer la protection.
Le code source du PrestaSonataSavedFiltersBundle est hébergé sur GitHub.
Le bundle peut être installé simplement en exécutant la commande suivante :
composer require presta/sonata-saved-filters-bundle
Une fois installé, il vous suffira de suivre les quelques étapes de configuration suivantes qui sont détaillées dans le README du projet :
UserInterface
)Nous espérons que, comme nous, vous apprécierez le confort offert par ce système.
Désormais si un client vous demande des vues personnalisées pour une admin, vous pouvez très facilement lui en préconfigurer en créant des filtres enregistrés publics. Si toutefois ces vues préconfigurées ne lui suffisent pas, ou si un utilisateur a un besoin spécifique, il pourra tout aussi facilement se créer les siennes comme il l'entend, et même les partager lui-même à ses collègues.
N'hésitez pas à nous faire des retours si vous avez des remarques, voire à contribuer directement au repository sur GitHub.