У меня есть страница, на которой я использую CKEditor 5 с CKFinder 3.
По умолчанию изображения, включенные в текстовое поле, являются адаптивными и могут быть выровнены только как full или right.
На соответствующей странице есть фотографии контактов, и они не должны быть такими большими. Как настроить ширину изображения, вставляемого с помощью кнопки на панели инструментов?
ClassicEditor
.create( document.querySelector( '#pageTextArea' ), {
image: {
styles: [ { name: 'contact', icon: 'right', title: 'My contact style', className: 'my-contact-side-image' } ]
}
ckfinder: {
uploadUrl: 'example.com/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files&responseType=json'
}
})
.catch( error => {
console.error( error );
process.exit(1);
});


Чтобы создать индивидуальный стиль изображения, вам необходимо:
Сначала настройте параметр image.styles.
ClassicEditor.create( element, {
// ...
image: {
// ...
styles: [
// Pottentially some other style can go here. E.g. the `full` or `side`.
{ name: 'contact', icon: 'right', title: 'My contact style', className: 'my-contact-side-image' }
]
}
}
А во-вторых, сделайте изображение шириной 100 пикселей с помощью CSS:
.ck-content figure.image.my-contact-side-image {
float: right;
width: 100px;
}
Обратите внимание, что вам также необходимо обрабатывать стили созданного контента вне редактора.
Какая панель инструментов исчезнет? Какой текст показан? Я улучшил семпл, может, вам это поможет. У вас есть ошибки в консоли?
Текстовое поле обычно имеет панель инструментов ckeditor. Когда я настраиваю параметр image.styles, панель инструментов исчезает, превращаясь в текстовое поле. Я получаю сообщение об ошибке: «Неперехваченная SyntaxError: неожиданный идентификатор». Это относится к строке, где начинается ckfinder
class: '...' должно быть className: ... Отлично работает. Спасибо. Как мне добавить для этого собственный значок? Возможно ли это при использовании CDN?
Ой. Тогда я изменю фрагмент кода. Настройка пользовательского значка описана в ckeditor.com/docs/ckeditor5/latest/api/….
Я сделал PR, чтобы исправить это в документах.
Спасибо за ответ. Если я добавлю параметр image.styles, панель инструментов исчезнет, и текст будет показан в коде. Я скорректировал код выше. Что я делаю неправильно?