Most people who have grown up on the web, and have used Wysiwyg utilities online, or newer text editors/word processing applications are used to having a simple 'return' create a new paragraph, with (on average) one extra line of empty space between the new paragraph and the one before it.
However, a lot of people like having the 'return' key just go down one line. There are a few ways this is possible in most Wysiwygs:
- You can change the block style from 'Paragraph' (which creates
<p>
tags around new lines of text) to 'div' (which creates<div>
tags around new lines of text). - You can press Shift + Return when you want to just go down one line (using a
<br />
tag instead of a<p>
tag).
I use the second method when I'm using a Wysiwyg, as I like using paragraphs (which are semantic for text, and which allow for better CSS styling than a monolithic block of text with linebreaks). I also rarely use a Wysiwyg editor, so it's not really an issue for me anyways ;-)
But, some people ask me if they can set up TinyMCE to use line breaks instead of paragraph returns by default, so they don't have to hit Shift + Return all the time (instead, they hit 'Enter Enter'... more keystrokes, but whatever floats their boat!).
Well, as it turns out, TinyMCE does have a setting for this, called forced_root_block
. And Drupal's Wysiwyg module allows you to pass along this setting to TinyMCE when TinyMCE is loaded on a page, using hook_wysiwyg_editor_settings_alter()
like so (in a custom module):
<?php
/**
* Implements hook_wysiwyg_editor_settings_alter().
*
* Sets defaults for TinyMCE editor on startup.
*/
function custom_wysiwyg_editor_settings_alter(&$settings, $context) {
if ($context['profile']->editor == 'tinymce') {
// Force linebreaks instead of paragraph returns.
$settings['forced_root_block'] = FALSE;
}
}
?>
Comments
Thanks a lot! was hunting for this solution