Предыдущие ответы мне очень помогли. Но для меня мне пришлось сделать некоторые дополнительные работы, чтобы заставить его работать. Поэтому я делюсь этим здесь для посетителей.
- В моей версии Laravel не был загружен jquery, поэтому пришлось его загрузить.
- Я не хотел добавлять ckeditor в свой пакет app.js, так как он будет использоваться на одной странице моего сайта. Поэтому хотел загрузить его только для этой страницы
создал новый файл ckeditor.js
в папке resources/js/
со следующим содержимым
window.ClassicEditor = require('@ckeditor/ckeditor5-build-classic');
добавил созданный файл и jquery в webpack.mix.js
для компиляции. Если вы хотите, вы можете объединить в один файл, но это не будет хорошо, если вы хотите использовать jquery для других целей.
mix.combine([
'node_modules/jquery/dist/jquery.js'
//here you can include more files to combine, or can combine ckeditor file here as well
],'public/js/jquery.js');
mix.js('resources/js/ckeditor.js', 'public/js/ckeditor.js');
загрузил скомпилированный на страницу. Предполагая, что вы используете шаблон блейда, расширяющий основной файл блейда, который имеет внутренний тег заголовка @yield('page-head-scripts')
. Для этого шага есть и другие подходы, я так и сделал.
@section('page-head-scripts')
<script src="{{ asset('js/jquery.js') }}"></script>
<script src="{{ asset('js/ckeditor.js') }}"></script>
@endsection
Добавьте код создания редактора на страницу. Предположим, что вы используете шаблон блейда, расширяющий основной файл блейда, который имеет @yield('page-last-scripts')
конец главной страницы. Для этого шага есть и другие подходы, я так и сделал.
@section('page-last-scripts')
<script type="text/javascript">
$(document).ready(function(){
//ClassicEditor.create($('#edit_about_text').get()[0]); this or below part.
//to elobrate I have added more codes
ClassicEditor.create( document.querySelector( '#editor' ), {
toolbar: [ 'heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'blockQuote' ],
heading: {
options: [
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
]
}
} )
.catch( error => {
console.log( error );
} );
});
</script>
@endsection
person
aimme
schedule
26.07.2020