Bonjour à tous,
J'ai tout le mal du monde à faire fonctionner CKEditor5 sous Symfony 7.1 :
Le contrôle s'affiche soit en mode colonne avec un champ de saisie quasi inexistant placé sur le côté (inexploitable) au lieu d'en dessous de la barre d'outils, soit on ne voit rien d'autre qu'un grand trait vertical comme une simple ligne au milieu de mon form ... (vraisemblablement des erreurs css dans le fichier ckeditor5 fournit)
D'autre part on dirait que ce n'est pas compatible avec un champ dépendant de la bdd :
Voici ce que j'ai fait :
J'ai mis mon champ textarea de cette façon dans mon formType :
Dans le twig :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ->add('description', HiddenType::class)
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <div id="editor"> {{ form_row(form.description|raw) }} </div>
Enfin dans le js :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 import { ClassicEditor, Essentials, Bold, Italic, Font, Paragraph, } from "../../ckeditor5/ckeditor5.js"; import '../../ckeditor5/ckeditor5.css'; ClassicEditor.create(document.querySelector("#editor"), { plugins: [Essentials, Bold, Italic, Font, Paragraph], toolbar: { items: [ "undo", "redo", "|", "bold", "italic", "|", "fontSize", "fontFamily", "fontColor", "fontBackgroundColor", ], }, }) .then((editor) => { editor.sourceElement.parentElement.addEventListener("submit", function (e) { e.preventDefault(); this.querySelector("#editor + input").value = editor.getData(); this.submit(); }); }) .catch(/* ... */);
Je suppose qu'il faut s'y prendre autrement dans le js lorsqu'il s'agît d'un champ dépendant ? Je n'ai vu aucun tuto à ce sujet, seulement des tutos concernant des champs de saisie non dépendants, donc je ne connais pas la méthode pour récupérer et enregistrer tout le contenu du contrôle mise en forme dans la bdd...
Merci d'avance pour vos conseils avisés
Partager