CitizenZ Accueil Blog A propos Contact Connexion
Retour à la liste des articles Intégrer CKEditor dans EasyAdmin

Intégrer CKEditor dans EasyAdmin

Olivier Prieur | il y a 3 ans | il y a 4 mois Développement web | 4 | 7632

Si vous utilisez PHP 8+, c'est Symfony 6 qui sera instgallé par défault. Vous constaterez aussi un petit changement (par rapport Symfony 5 et précédents) : l'utilisation des "attributs" à la place des "annotations", dans les routes des controller...

Installation d'EasyAdmin :

composer req admin

Installation de CKEditor :

composer require friendsofsymfony/ckeditor-bundle

Configuration simple et rapide de CKEditor.

Dans le fichier config/packages/fos_ckeditor.yaml :

fos_ck_editor:

     configs:

         main_config:

             toolbar: full




"Activation" du dashboard d'EasyAdmin :

php bin/console make:admin:dashboard

Dès maintenant vous aurez un nouveau dossier dans src/Controller/Admin avec un fichier DashboardController.php

Vous pourrez également créer des CRUD avec la commande :

php bin/console make:admin:crud

Dans ces CRUD, vous pourrez désormais utiliser ->setFormType(CKEditorType::class) pour "activer" CKEditor sur les champs TextEditorField() :

EXEMPLE :

TextEditorField::new('content')->hideOnIndex()->setFormType(CKEditorType::class),

N'oubliez pas le Use :

use FOS\CKEditorBundle\Form\Type\CKEditorType;

Sous la function configureFields() du CrudController, ajoutez :

public function configureCrud(Crud $crud): Crud

 {

   return $crud

       ->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig');

 }


 Et voila : CKEDitor est activé dans EasyAdmin !

Olivier Prieur

Olivier Prieur

Geek quinqua nivernais fan d'ovalie, de musique, de linuxeries et de Net.
Portfolio : https://www.olivierprieur.fr

Commentaires

En soumettant ce formulaire, j’accepte que ce site conserve mes données personnelles via ce formulaire. Aucune exploitation commerciale ne sera faite des données conservées.

Horn

il y a 2 ans

Bonjour,
Il manque l'installation des assets dans votre procédure.
Sinon moi j'ai un pb avec ckeditor lors de la validation du texte ça m'affiche le texte avec toutes les balises...
Je suis sur symfony6 et easyAdminBundle

citizenz7

il y a 2 ans

@Horn,
Salut,
Pour les assets : le but n'était pas ici de présenter l'install complète de CKEditor mais sa configuration dans Easyadmin.
Pour ce qui est des balises et du texte, c'est normal. CKEditor ajoute des balises HTML type <p>, <div>, etc.
Pour l'affichage dans la vue (fichier twig), il faut utiliser le filtre twig |raw
Exemple : {{ article.presentation|raw }}

Venkman

il y a 2 ans

Bonjour,
Merci pour l'article.
Pouvez vous nous expliquer comment intégrer la déclaration de CKEditor dans la fonction ConfigureFields svp?

citizenz7

il y a 2 ans

@Venkman

Il faut ajouter un setFormType() dans configureFields() pour les champs texte :
->setFormType(CKEditorType::class)

N'oubliez pas d'ajouter également un addFormTheme dans configureCrud() :
->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig')

... et n'oubliez pas d'importer le Use :
use FOS\CKEditorBundle\Form\Type\CKEditorType;

A la une

La meilleure distribution Linux... n’existe pas

Lire l'article

Quand Windows 11 ferme la porte, Linux ouvre une fenêtre

Lire l'article

Debian 13 : le choix malin pour installer Linux en 2025

Lire l'article

AnduinOS : Ubuntu habillé façon Windows 11… sans Snap !

Lire l'article

Les plus lus

Symfony : barre de recherche dans la sidebar 20598

Lire l'article

I use Debian, by the way 13307

Lire l'article

VSCode : 10 raccourcis clavier indispensables (Linux) 13275

Lire l'article

Débuter avec Symfony 5 : le fichier .env 12555

Lire l'article

Les plus likés

Quelle distribution Linux ? Pour qui ? Pour quoi ?

5 Lire l'article

Symfony : afficher le site en développement sur son PC et son mobile

4 Lire l'article

Installer proprement les drivers NVIDIA sur Debian 13 (Trixie) RC1 : retour d'expérience

3 Lire l'article