PrestaConcept
Nos réalisations
Nos métiers
  • 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.

  • Qui sommes nous
  • 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 Menu
    • 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.

    Blog

    Pour continuer votre lecture ...

    Tech

    Librarie Open Source : PrestaImageBundle

    Par Benoit Jouhaud 03/03/2021

    Le bundle open source made by Prestaconcept qui permet à vos utilisateurs de redimensionner une image à l'upload.

    Lire la suite
    Tech

    Librarie Open Source : YokaiEnumBundle

    Par Yann Eugoné 04/06/2021

    Un bundle OpenSource qui apporte un système d'énumération totalement intégré à votre projet Symfony.

    Lire la suite
    Tech

    Librarie Open Source : PrestaSitemapBundle

    Par Yann Eugoné 23/10/2020

    Le bundle OpenSource made by Prestaconcept qui génère le sitemap de votre projet Symfony

    Lire la suite

    Vous avez un projet Laravel ?

    Nous sommes spécialisés en Symfony, et grâce à Web^ID, l’agence sœur du groupe Agile Invest, nous couvrons aussi toute l’expertise Laravel.

    Découvrir Web^ID

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

    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
  • © 2025 PrestaConcept
    Mentions légales Politique de confidentialité 🍪
    Retour en haut de page