Aller au contenu principal
PrestaConcept
Nos réalisations
  • Découvrez nos métiers
  • Développement web sur mesure

    Nous développons en méthode agile des back sous le framework PHP Symfony, des front en Angular.

  • Maintenance d'applications

    Maintien en condition opérationnelle de votre plateforme Symfony.

  • Expertise Symfony

    Coaching, formation, audit et conseil.

  • Hébergement et Infogérance

    Une expertise de l'hébergement depuis plus de 15 ans et l’infogérance de centaines de machines en production actuellement.

  • Découvrez Prestaconcept
  • PrestaConcept

    Notre histoire, nos convictions, notre vision... Découvrez ce qui nous anime !

  • L'équipe

    Plus de 15 ans minimum d'expérience sur Symfony.

  • Nos engagements RSE

    Une société engagée pour un numérique responsable.

  • Nos convictions

    Co-construction, transparence.. Les principes qui guident nos collaborations !

  • Nous rejoindre

    Envie de nous rejoindre ? Consultez nos offres !

  • Blog
    J'ai un projet Nous contacter
    J'ai un projet Nous contacter
    • Accueil
    • Blog
    • Tech
    • Des filtres enregistrés dans vos admins Sonata

    Blog

    Des filtres enregistrés dans vos admins Sonata

    Sonata bundle open source php symfony
    Benoit Jouhaud
    Benoit Jouhaud Développeur expert Symfony
    Publié le jeudi 7 décembre 2023

    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...

    Fonctionnement

    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 avez créé le filtre
    • vous avez mis le filtre en favori
    • le filtre est public

    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.

    Création d'un filtre enregistré

    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.

    PrestaSonataSavedFiltersBundle - Save filter form

    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éé.

    PrestaSonataSavedFiltersBundle - Saved filters dropdown

    Administration des filtres

    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.

    PrestaSonataSavedFiltersBundle - Saved filters admin list

    • Protéger : permet de s'assurer qu'un filtre enregistré ne pourra pas être supprimé
    • Retirer la protection : autorise à nouveau la suppression du filtre enregistré
    • Rendre public : tous les utilisateurs verront le filtre enregistré apparaître dans le menu et pourront l'utiliser
    • Ajouter aux favoris : s'abonner au filtre enregistré afin de le voir apparaître dans le menu, même s'il n'est pas public
    • Retirer des favoris : se désabonner du filtre enregistré afin qu'il n'apparaisse plus dans le menu

    Suppression d'un filtre enregistré

    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.

    Installation

    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 :

    • importer les scripts JS du bundle
    • inclure le menu dans le layout Sonata
    • configurer Doctrine pour lui renseigner l'entité qui va pouvoir créer et ajouter des filtres enregistrés en favoris (généralement une entité implémentant UserInterface)
    • ajouter l'entrée de menu pour l'admin des filtres enregistrés à votre config Sonata
    • mettre à jour le schéma de votre base de données pour inclure les entités du bundle

    Utilisation

    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.

    Une question, un projet ? Planifiez un échange avec nous !

    Que vous ayez une idée encore floue, un projet bien défini ou simplement envie d'en savoir plus sur notre façon de travailler, on adore ces premiers échanges. Choisissez le créneau qui vous arrange, et on prend le temps de discuter ensemble de ce qui vous amène.

    Choisissez votre date
    PrestaConcept - Groupe Agile Invest
    5, imp. Morel, 69003 Lyon +33 (0)4 78 54 45 45
    Suivez-nous
    Ecoindex B

    Ce site internet est un site basse consommation. En savoir plus sur l'Ecoindex

    Nos réalisations

  • Logiciel de mise en conformité réglementaire
  • Application de suivi de production des centrales éoliennes
  • Outil d'aide à la décision
  • Portail client
  • Nos métiers

  • Développement sur-mesure
  • Reprise d'application Symfony
  • Expertise Symfony
  • Hébergement & Infogérance
  • Qui sommes-nous

  • PrestaConcept
  • Groupe Agile Invest
  • L'équipe
  • Engagement RSE
  • Blog

  • Tech
  • Méthodologie
  • PrestaConcept
  • RSE
  • © 2026 PrestaConcept
    Mentions légales Politique de confidentialité 🍪
    Retour en haut de page