Reputation: 24061
Im using tinymce and saving it to a database.
When I edit the saved content using tinymce and save again, it inserts a p tag at the beginning.
Editing the content over and over again leaves a large gap at the beginning of the content.
DOes anyone know a fix?
Upvotes: 50
Views: 57531
Reputation: 146
using @tinymce/tinymce-react with ^4.3.2 version use any string in forced_root_block, but not empty string worked for me
init:{{ height: 600, forced_root_block: "anything", }}
Upvotes: 0
Reputation: 21
I have been working with TinyMCE v7 recently and encountered this issue. However the force_*_new_lines does no longer work. After a bit of reading through the docs I found the solution here. Although the issue is already solved, I figured adding this for anyone else searching.
TinyMCE v6.1 and up use the following to for shift_enter behavior on every enter
newline_behavior: 'linebreak'
Upvotes: 2
Reputation: 1010
From tinymce.js v4.1.10 code:
newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;
So the key to avoid <p> seems to be as stated before
settings.force_p_newlines = false
and
settings.forced_root_block = ''
Upvotes: 1
Reputation: 12277
For me it worked by making "force_br_newlines : true" instead of false.
tinyMCE.init({
mode : "textareas",
theme : "advanced",
force_br_newlines : true,
force_p_newlines : false,
forced_root_block : ''
});
I hope it helps
Upvotes: 6
Reputation: 5630
I am sure that @Fonski answer is correct but thought I would update this for anyone else that did was confused as to where to put the code. I placed the following in my _config.php
file to get it to work:
$defaultEditorConfig = HtmlEditorConfig::get('cms');
$defaultEditorConfig->setOptions(
array(
'mode' => 'textareas',
'theme' => 'advanced',
'force_br_newlines' => false,
'force_p_newlines' => false,
'forced_root_block' => ''
)
);
Note: If you just want to remove the p tag that automatically wraps image tags (etc) all you need to set is the 'forced_root_block' => ''
option.
EDIT: This advice is for those using SilverStripe, I posted this thinking the questions was SilverStripe specific.
Upvotes: 4
Reputation: 1174
TinyMce automatically add "<p>
" in new lines.
You can set this option in tinyMce initialization like this:
tinyMCE.init({
mode : "textareas",
theme : "advanced",
force_br_newlines : false,
force_p_newlines : false,
forced_root_block : '',
});
Hope it will help
Fonski
Upvotes: 106