CKEditor (ckeditor.com) to wizualny edytor WYSIWYG UI, który służy do redagowania zawartości dokumentów HTML. W systemach CMS odgrywa kluczową rolę. Trudno wyobrazić sobie formatowanie treści strony bez takiego narzędzia.

easyadmin3-ckeditor-symfony-flex

W tym poście pokażę w jaki sposób dodać go do pakietu EasyAdmin 3. Nowy EasyAdmin posiada wbudowany edytor TRIX ale na dzień dzisiejszy ma pewne ograniczenia i nie daje takiej swobody jak CKEditor.

(Jeśli używasz starszej wersji EasyAdmin 2 i Symfony 4 to wbijaj tutaj)

Na początku przygotuj środowisko Symfony 5 (Flex) z Webpack Encore a następnie pobierz pakiet: FOSCKEditorBundle:

Zainstaluj CKEditor:

Edytuj plik bundles.php (/config/bundles.php) dodając wpis:

Utwórz plik konfiguracyjny fos_ck_editor.yaml (/config/packages/fos_ck_editor.yaml). W pliku tym możemy definiować wygląd interfejsu edytora, określić, które przyciski lub paski narzędziowe będą widoczne, a które nie.

Istotne są tutaj dwa parametry pase_path i js_path wskazujące adres do pliku wykonywalnego ckeditor.js.

Zaktualizuj zawartość pliku konfiguracyjnego webpack.config.js (w katalogu głównym projektu):

W tym momencie możemy już skompilować zasoby. Tak więc wykonaj polecenie:

Teraz musimy przygotować niestandardowe pole dla edytora. Utwórz plik o nazwie: CKEditorField.php (/src/Controller/Admin/Field/CKEditorField.php):

Na koniec zaktualizuj kontroler CRUD, dla którego będzie wyświetlany CKEditor:

I to wszystko. Otwórz stronę i sprawdź czy wszystko gra. W razie pytań lub uwag zamieść komentarz.