AboutGetReadHelp

TinyMCE

This page is part of a set of pages: "corepractice.org technical manual"
Turn the page:

Can do some cool things:  TABLE

 Phase  Done To do 
 1 30   13
 2  0  35
 3  0  32

Use internal Drupal styles, like 

 "title"

or "site name"

Once TinyMCE is enabled, the default behavior is that all textareas

will use TinyMCE for all users. The admin can change these defaults

at

administer > settings > tinymce

For example, the default theme TinyMCE will use is called 'simple'.

Themes control the functionality TinyMCE makes visible. It comes

with 3 themes:

1) Simple - basic formatting

2) Default - basic formatting with lists and hyperlinks

3) Advanced - many many features. See a demo at

http://tinymce.moxiecode.com/example_advanced.php?example=true

The admin can choose what theme TinyMCE should be the default and

user's can override this by editing their account (if they've been

given permissions to do so). User's also have the option of disabling

TinyMCE completely.

The admin can also define which pages TinyMCE should be used on.

This cannot be changed on a per user basis.

 

SOME AVAILABLE OPTIONS

Auto cleanup Word:

Automatically cleanup MS Office/Word HTML will be executed automatically on paste operations. (Only works in Internet Explorer)

Verify HTML:

Should the HTML contents be verified or not? Verifying will strip <head> tags, so choose false if you will be editing full page HTML.

Preformatted:

If this option is set to true, the editor will insert TAB characters on tab and preserve other whitespace characters just like a PRE HTML element does.

Force BR new lines:

Use BR tags for new lines rather than P.

Force P new lines:

When enabled, Mozilla/Firefox will generate P elements on Enter/Return key and BR elements on Shift+Enter/Return..

Enable:

Should tinymce be enabled or disabled by default when it's first loaded from a textarea? Note: The user may override this setting in their profile.

 

DRUPAL PLUGINS FOR TINYMCE:

********************************************************************

NOTE: If you want to use img_assist with TinyMCE, you don't have to

install a plugin. Just enable the img_assist module and click

the photo icon that appears below each textarea.

Located in the plugins directory are Drupal specific plugins for

TinyMCE. Once you've downloaded and installed the TinyMCE engine,

copy this plugins over the directory of TinyMCE

(tinymce/jscripts/tiny_mce/). Most of these plugins will already be

active if you use the 'advanced' theme for tinymce. See the

documentation in each plugin folder for more details.

CAVEATS

********************************************************************

By default, Drupal uses the 'Filtered HTML' input format for adding

content to the site and this can create conflicts with TinyMCE. It's

best when using this editor to use an input format that has all

filters disabled. What I usually do is create an input format called

'Rich-text editing' and set that as the default format for roles which

use TinyMCE exclusively. To modify your input formats go to:

Administer > input formats > configure > configure filters

TWEAKING THE TINYMCE THEME

********************************************************************

Developers have complete control over when and how tinymce is enabled

for each textarea inside Drupal by creating a custom Drupal theme

function. The following example assumes you're using a phptemplate based theme.

Put the following function in your themes template.php file:

/**

* Customize a TinyMCE theme.

*

* @param init

* An array of settings TinyMCE should invoke a theme. You may override any

* of the TinyMCE settings. Details here:

*

* http://tinymce.moxiecode.com/wrapper.php?url=tinymce/docs/using.htm

*

* @param textarea_name

* The name of the textarea TinyMCE wants to enable.

*

* @param theme_name

* The default tinymce theme name to be enabled for this textarea. The

* sitewide default is 'simple', but the user may also override this.

*

* @param is_running

* A boolean flag that identifies id TinyMCE is currently running for this

* request life cycle. It can be ignored.

*/

function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {

switch ($textarea_name) {

// Disable tinymce for these textareas

case 'log':

case 'img_assist_pages':

case 'caption':

unset($init);

break;

// Force the 'simple' theme for some of the smaller textareas.

case 'signature':

case 'site_mission':

case 'site_footer':

case 'settings][access_pages':

$init['theme'] = 'simple';

unset($init['theme_advanced_toolbar_location']);

unset($init['theme_advanced_toolbar_align']);

unset($init['theme_advanced_path_location']);

unset($init['theme_advanced_blockformats']);

unset($init['theme_advanced_styles']);

break;

}

// Add some extra features when using the advanced theme.

switch ($theme_name) {

case 'advanced':

$init['extended_valid_elements'] = 'a[href|target|name|title|onclick]';

$init['theme_advanced_buttons3_add_before'] = 'tablecontrols,separator';

$init['plugins'] = file_exists(drupal_get_path('module', 'tinymce'). '/tinymce/jscripts/tiny_mce/plugins/drupalimage') ? 'drupalimage,table,emotions,print' : 'table,emotions,print';

$init['theme_advanced_buttons3_add'] = 'drupalimage,emotions,separator,print';

break;

}

// Always return $init; !!

return $init;

}

If you study the above function you can see that tinymce can be completely

disabled or you can even switch themes for a given textarea.

See the TinyMCE manual for details on the parameters that can be

sent to TinyMCE:

http://tinymce.moxiecode.com/wrapper.php?url=tinymce/docs/index.htm

This page is part of a set of pages: "corepractice.org technical manual"
Turn the page: