В ckeditor5, как я могу изменить entermode br вместо p?
В ckeditor5 cdn, чтобы включить ckeditor.js, я хотел бы изменить entermode, что
вместо
5 ответов
Вы могли бы справиться с
enter
событие и сделать его триггером
shiftEnter
вместо.
editor.editing.view.document.on(
'enter',
( evt, data ) => {
editor.execute('shiftEnter');
//Cancel existing event
data.preventDefault();
evt.stop();
}, {priority: 'high' });
source: https://github.com/ckeditor/ckeditor5/issues/1141#issuecomment-403403526
Если вы хотите использовать <BR>
как изменить код строки в CKeditor 5, то просто используйте "Shift+Enter", чтобы это произошло.
Вот код, если вы все еще хотите сделать <P>
показывать лайки <BR>
один-х:
p {
margin: 0;
}
Серьезно, у меня возникла такая же проблема, как у твоей...... тогда я нашел Shift+Enter.
Для тех, кто использует Vue и хочет добиться этого, мне помогло добавление решения Ramast в качестве плагина к editorConfig (следуя инструкциям здесь: https://github.com/ckeditor/ckeditor5-vue/issues/58)
Мое требование противоположно вашему.
я использую@ckeditor/ckeditor5-vue
и специальный редактор, предоставленный для справки.
Пользовательский редактор:
import ClassicEditorBase from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import Enter from '@ckeditor/ckeditor5-enter/src/enter';
import ShiftEnter from '@ckeditor/ckeditor5-enter/src/shiftenter';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
import Custom1 from './plugin/custom1';
import Custom2 from './plugin/custom2';
export default class ClassicEditor extends ClassicEditorBase {}
ClassicEditor.builtinPlugins = [
Essentials,
Paragraph,
Enter,
ShiftEnter,
Custom1,
Custom2,
];
ClassicEditor.defaultConfig = {
toolbar: {
items: [],
},
language: 'en',
};
шаблон vue:
<ckeditor
v-model="content"
:editor="editorBuild"
@ready="editorOnReady"
@input="handleEditorInput"
@blur="handleEditorBlur"
/>
Скрипт установки Vue:
import ClassicEditor from '@/ckeditor';
const editorBuild = ClassicEditor;
const editor = ref();
function editorOnReady(editorObj) {
editorObj.keystrokes.set('Shift+Enter', 'enter');
editor.value = editorObj;
}
В PHP я сделал следующее:
$replaceClosingTag = str_replace('</p>', '<br>', $_POST['message']);
$emailMessageText = str_replace('<p>', '', $replaceClosingTag);
Я заменил закрывающий тег на
<br>
и открывающий тег с пустым пространством. Это грязно, но у меня это сработало. Возможно, с помощью javascript вы можете сделать что-то подобное.
А для стиля полей редактора я использовал это:
.ck.ck-editor__editable_inline p {
margin-bottom: 0;
}
Потому что я использую CDN, и это переопределяет этот класс.
Вопросу 2 года, но, надеюсь, это поможет кому-то в будущем.