Tinymce автоматически добавляет p-теги?
Im использует tinymce и сохраняет его в базе данных.
Когда я редактирую сохраненный контент с помощью tinymce и сохраняю его снова, он вставляет в начале тег p.
Редактирование содержимого снова и снова оставляет большой пробел в начале содержимого.
Кто-нибудь знает исправление?
Ответы
Ответ 1
TinyMce автоматически добавляет "<p>
" в новые строки.
Вы можете установить этот параметр в инициализации tinyMce следующим образом:
tinyMCE.init({
mode : "textareas",
theme : "advanced",
force_br_newlines : false,
force_p_newlines : false,
forced_root_block : '',
});
Надеюсь, что это поможет
Fonski
Ответ 2
Я уверен, что ответ @Fonski верен, но я подумал, что обновляю это для кого-то еще, что было смутно относительно того, куда поместить код. Я поместил следующее в мой файл _config.php
, чтобы заставить его работать:
$defaultEditorConfig = HtmlEditorConfig::get('cms');
$defaultEditorConfig->setOptions(
array(
'mode' => 'textareas',
'theme' => 'advanced',
'force_br_newlines' => false,
'force_p_newlines' => false,
'forced_root_block' => ''
)
);
Примечание. Если вы просто хотите удалить тэг p, который автоматически обертывает теги изображений (и т.д.), все, что вам нужно установить, это параметр 'forced_root_block' => ''
.
EDIT: Этот совет для тех, кто использует SilverStripe, я разместил это, думая, что вопросы были специфическими для SilverStripe.
Ответ 3
Для меня это сработало, сделав вместо force значение force_br_newlines: true.
tinyMCE.init({
mode : "textareas",
theme : "advanced",
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : ''
});
Я надеюсь, что это поможет
Ответ 4
Из файла tinymce.js v4.1.10:
newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;
Таким образом, ключ, чтобы избежать <p> похоже, как указано выше
settings.force_p_newlines = false
и
settings.forced_root_block = ''