Форма Symfony 4 с текстовой областью ckeditor не представлена - PullRequest
0 голосов
/ 03 ноября 2018

Мне нужно использовать редактор wysiwyg на моем сайте. Я использую Symfony 4.

Я пытался использовать ckeditor 5 CDN (https://ckeditor.com/ckeditor-5/download/)

Представление работает хорошо, но форма Symfony не отправляется. (textareatype может убить форму, потому что с помощью ckeditor он изменяется на множество элементов div, а раздел textarea может считаться пустым)

это код текстовой области в форме.

->add('content', TextareaType::class, [
            'label' => "Content label",
            'required' => true,
            'attr' => [
                'class' => "ckeditor"
             ]
        ])

и код скрипта

<script>
    ClassicEditor
        .create( document.querySelector( '.ckeditor' ) )
        .catch( error => {
            console.error( error );
        } );
</script>

Спасибо. безнадежно, как трудно использовать простой редактор wysiwyg ..

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Я нашел решение. Я подчеркиваю, что я использую CKEditor 5.

ClassicEditor
        .create( document.querySelector( '.ckeditor' ) )
        .then( editor => {
            theEditor = editor;
        } )
        .catch( error => {
            console.error( error );
        } );

    document.getElementById("news_submit").addEventListener("click", function() {
        theEditor.updateSourceElement();
    });

метод теперь "updateSourceElement" с CKEditor 5.

0 голосов
/ 04 ноября 2018

изменить: этот ответ для ckeditor 4, а не для 5

ckeditor не обновляет поле в режиме реального времени. Вам необходимо вызвать функцию ceditor updateElement перед отправкой формы.

См .: https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#method-updateElement

...