Introducción
Una configuración adecuada de CKEditor es esencial para su funcionamiento óptimo. Esta guía proporciona los pasos para instalar una versión válida de CKEditor y configurarla para usar la biblioteca Media en un proyecto Sonata.
Instalación
Resolución del error de clave de licencia LTS inválida
Si encuentra el siguiente error:
[CKEDITOR] For more information about this error go to https://ckeditor.com/docs/ckeditor4/latest/guide/dev_errors.html#invalid-lts-license-key
Instale la versión especificada de CKEditor:
php php php bin/console ckeditor:install --tag=4.19.0
php bin/console assets:install
Configuración para la biblioteca multimedia
Para integrar la biblioteca multimedia con CKEditor, debe especificar filebrowserBrowseRoute y filebrowserImageBrowseRoute.
Utilice la carretera sonata_extra_ckeditor_media_browser a tal efecto.
Aquí hay un ejemplo de configuración:
fos_ck_editor:
default_config: default
base_path: "build/ckeditor"
js_path: "build/ckeditor/ckeditor.js"
configs:
default:
language: fr
# default toolbar plus Format button
toolbar:
- [Bold, Italic, Underline, -, Cut, Copy, Paste,
PasteText, PasteFromWord, -, Undo, Redo, -,
NumberedList, BulletedList, -, Outdent, Indent, -,
Blockquote, -, Image, Link, Unlink, Table]
- [Format, Maximize, Source]
enterMode: CKEDITOR.ENTER_BR
filebrowserBrowseRoute: sonata_extra_ckeditor_media_browser
filebrowserImageBrowseRoute: sonata_extra_ckeditor_media_browser
Adaptar el ejemplo a la versión instalada
Los ejemplos de Symfony y Sonata permanecen ligados a las versiones indicadas en el artículo. Symfony 4.x y Symfony 6.2 ya no se mantienen: para un proyecto actual, utilice una rama mantenida y la documentación que corresponda exactamente a sus dependencias.
php bin/console about
composer show symfony/framework-bundle sonata-project/admin-bundle
Antes de retomar el código, controle las firmas, los servicios, las rutas y las plantillas correspondientes. Después, agregue una prueba funcional que cubra los permisos, el código HTTP y el resultado visible.
Referencia: versiones de Symfony mantenidas.