Disable TinyMCE for dynamically named textareas

Last updated on
30 April 2025

description

Here's a simple way to disable TinyMCE on textareas where the id is named dynamically. I needed this for use with the flashvideo_module. It creates a textarea that lists the uploaded video, and names it id = 'edit-files-XYZ-description', where XYZ is the file id (fid) and is unique to each node.

Step 1 of 1

Grab the theme_tinymce_theme function from tinymce.module, and copy it to your template.php file, renaming it to phptemplate_tinymce_theme, then modify it as follows:

function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
  if ($textarea_name = 'files-'.$node->fid.'-description'){
  $flashvid_exempt = $textarea_name;
  }
  switch ($textarea_name) {
    // Disable tinymce for these textareas
    case 'log': // book and page log
    case 'img_assist_pages':
    case 'caption': // signature
    case 'pages':
    case 'access_pages': //TinyMCE profile settings.
    case 'user_mail_welcome_body': // user config settings
    case 'user_mail_approval_body': // user config settings
    case 'user_mail_pass_body': // user config settings
    case 'synonyms': // taxonomy terms
    case 'description': // taxonomy terms
	case $flashvid_exempt:
      unset($init);
      break;

The rest of the code in this function is unchanged, so I didn't duplicate it here.

Hopefully this approach is useful to someone else.

Doug Gough

Help improve this page

Page status: Not set

You can: