Symfony EasyAdmin 3 mit CKEditor

Symfony EasyAdmin 3 mit CKEditor

9. Mai 2020 0 Von Roger Gerecke

Ganz einfach den CKEditor in EasyAdmin 3 integriert mit dem FOSCKEditorBundle.

Wenn Ihre den EasyAdmin 3 verwendet und euch den CKEditor dazu installiern wollt sind einige wenige schritte notwendig. Als erstes muss man sich das Editor Bundel von den Friends Of Symfony installieren. Danach müssen wir dem Crud Controller von EsayAdmin das Template für den Editor und die Classe bekannt machen.

  1. Die Installation des FOSCKEditorBundle nach den Dokumentation von FOS

https://symfony.com/doc/current/bundles/FOSCKEditorBundle/installation.html

2. Die Integration in den EasyAdmin 3

Wir müssen dem CrudController des EasyAdmin die verwedung das neu Installiereten Formular-Templates mitteilen dazu nutzen wir die Metohde addFormTheme

ProductCrudController.php

public function configureCrud(Crud $crud): Crud
{
    return $crud->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig');
}

Damit wir den CKEditor jetzt auch im Admin angezeigt bekommen müssen wir es einem Feld zuordnen in diesem Beispiel heist es TextareaField::new(‘description’) dort setzen wir jetzt den Formular Type als CKEditorType mit der Metohde setFormType

ProductCrudController.php

public function configureFields(string $pageName): iterable
{
    return [
        IdField::new('id'),
        TextField::new('title'),
        TextareaField::new('description','Beschreibung'),
        ->setFormType(CKEditorType::class),
    ];
}

Das war es schon sollte der Editor jetzt nicht angezeigt werden kann es sein das die installations Rotuine vom FOSCKEditorBundle nicht richtig gearbeitet hat und die Javascript Datein nicht in den public/bundle Ordner kopiert wurde. Dann solltet Ihr die Installation nochmal über die Symfony Console anstoßen mit:

php bin/console ckeditor:install

php bin/console assets:install public

Wer den EasyAdmin noch nicht kennt sollte sich mal bei Symfony umschauen. Der EasyAdmin ist die einfache möglichkeit um Datenbank Datensätze zu bearbeiten in einem Symfony Freamwork umgebung.

https://symfony.com/doc/master/bundles/EasyAdminBundle/index.html

0