Parlons de votre projet

Sujet

Symfony

18 articles

Sonata Extra Bundle : pare-feu applicatif

Le SonataExtraBundle fournit un ensemble de fonctionnalités améliorées pour la gestion des règles de pare-feu dans l'environnement Sonata Admin. Ce bundle permet aux administrateurs de créer et de gérer des règles pour filtrer les requêtes en fonction de différents critères tels que les mots interdits, les adresses IP et les agents utilisateurs.

SF6 / Sonata 5 : Gérer une interface OneToMany dans un CRUD avec CollectionType de Sonata

Dans cet exemple nous allons prendre le cas concret d’une interface simple qui comprend des éléments multiples. Nous avons choisis d’utiliser une table « Projets » dans laquelle nous allons affecter des documents. Donc pour un projet, nous pouvons affecter plusieurs documents. Et pour faciliter l’administration, nous allons faire en sorte de pouvoir gérer notre interface imbriquée directemen...

Symfony 4 / Sonata : Créer une deuxième interface avec la même entité

Nous allons voir ici comment créer une deuxième interface alors que l’entité est déjà utilisée dans une interface CRUD.Le problème des interfaces générées automatiquement est qu’elles utilisent le nom de l’entité pour construire les routes.Si on configure une deuxième interface avec une entité déjà utilisée on se retrouvera avec la même route que la premi&egr...

Symfony 4 / Sonata : gérer une interface d’administration multilingue

Nous allons voir comment configurer une interface d’administration en multilingue avec un bouton de sélection de langue (language switcher).Installation de translationBundle composer require sonata-project/translation-bundle bin/console assets:install Le language switcher nécessite un filtre twig spécifique.Sinon vous aurez une erreur de type :Unknown "language_name" filter.Il faut alors installer ces deux bundles composer require twig/intl-extra composer require t...

Symfony 4 / Sonata : gérer une interface d’administration multiserveur

Nous allons voir comment gérer une interface d’admin qui se connecte à plusieurs serveurs.Dans notre exemple nous avons monté un serveur mysql par défaut qui gère notre interface d’admin. Les utilisateurs, les médias, etc.Et nous avons monté un serveur postgreSql qui contient une table que nous souhaitons administrer.Nous pouvons ajouter autant de serveurs que nous souhaitons.Notre serveur MysqlNous avons classiquement monté ...

Symfony 4 / Sonata : Utiliser des champs JSON

Nous allons voir comment exploiter les types de champs Jsonb de postgreSql dans une interface générée de sonata.Nous partons du postulat que vous maîtrisez déjà les concepts basiques de Symfony, Sonata, et PostgreSql.Tout d’abord créons une table toute simple dans postgreSql qui contiendra un champs de type Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextv...

Symfony 4 / Sonata : créer un type de champs de formulaire personnalisé

Nous allons voir comment nous pouvons créer un type de champ personnalisé. Dans notre exemple, nous voulons un champ qui a le même rendu qu’un type de champ MoneyType mais dans lequel nous pourrons ajouter n’importe quel suffixe, car le champ money n’accepte que les devises. Or dans notre projet nous voulons utiliser des kilogrammes, des mois ou encore des kilomètres. Bref, tout un tas de type de données possibles.On commence par crée...

Symfony 4 / Sonata : Créer une interface de paramétrage.

Un des besoins récurent d’un projet web, est d’avoir besoin de paramètres globaux pour votre application. Généralement, on stock ça dans un fichier yml et le tour est joué. Mais cela se complique lorsque le client demande à pouvoir avoir la main dessus.Lui donner les accès FTP/SSH pour les modifier ? Non, certainement pas. Surtout si c’est pour refiler cette tache au stagiaire.Il faudra lui mettre à disposition u...

Symfony 4 / Sonata : Installer le CMS Sonata Page

Sonata est une suite de bundle pour Symfony 4. L’un d’entre eux permet de gérer du contenu à la manière de WordPress.Vous trouverez assez peu de documentations sur le net, et pour cause, l’installation est bugué, et les rares personnes qui se sont frotté au bugtracker sur github, se sont vu répondre un RTFM bien en règle.Rester sur ce genre d’échec n’est pas vraiment mon style.Voici donc comment installer et...