Как отключить TinyMCE для некоторых полей?
В настройках этого редактора можно указать только страницы на которых показывать или не показывать редактор, а вот насчет конкретных полей никаких упоминаний нет.
в template.php такое:
<?php
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
static $access, $integrated;
$init = theme_tinymce_theme($init, $textarea_name, $theme_name, $is_running);
switch ($textarea_name) {
// идентификаторы текстовых элементов - исключений.
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 'nodewords-description':
case 'description': // taxonomy terms
unset($init);
break;
// Force the 'simple' theme for some of the smaller textareas.
case 'signature':
case 'site_mission':
case 'site_footer':
case 'site_offline_message':
case 'page_help':
case 'user_registration_help':
case 'user_picture_guidelines':
$init['theme'] = 'simple';
foreach ($init as $k => $v) {
if (strstr($k, 'theme_advanced_')) unset($init[$k]);
}
break;
case 'teaser':
$init['height'] = '150px';
default:
break;
}
return $init;
}
?>
Спасибо большое, после некоторых манипуляций заработало. Так как в template.php уже была функция phptemplate_tinymce_theme (подключала IMCE к tinyMCE) получал чистую белую страницу. В итоге код теперь выглядит вот так:
<?php function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running){ static$access, $integrated;
Блин, как у вас все сложно...
Ставте модуль Тинитинимси, и вся отключайте прямо из админки этого модуля...
И править темы не нужно...
И модуль Тинитинимси позволяет настраивать расположение кнопок, добавлять свои кнопки и вообще он гибче и мощнее...
Комментарии
в template.php такое:
<?php
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
static $access, $integrated;
$init = theme_tinymce_theme($init, $textarea_name, $theme_name, $is_running);
switch ($textarea_name) {
// идентификаторы текстовых элементов - исключений.
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 'nodewords-description':
case 'description': // taxonomy terms
unset($init);
break;
// Force the 'simple' theme for some of the smaller textareas.
case 'signature':
case 'site_mission':
case 'site_footer':
case 'site_offline_message':
case 'page_help':
case 'user_registration_help':
case 'user_picture_guidelines':
$init['theme'] = 'simple';
foreach ($init as $k => $v) {
if (strstr($k, 'theme_advanced_')) unset($init[$k]);
}
break;
case 'teaser':
$init['height'] = '150px';
default:
break;
}
return $init;
}
?>
Спасибо большое, после некоторых манипуляций заработало. Так как в template.php уже была функция phptemplate_tinymce_theme (подключала IMCE к tinyMCE) получал чистую белую страницу. В итоге код теперь выглядит вот так:
function phptemplate_tinymce_theme($init, $textarea_name, $theme_name, $is_running) {
static $access, $integrated;
if (!isset($access)) {
$access = function_exists('imce_access') && imce_access();
}
$init = theme_tinymce_theme($init, $textarea_name, $theme_name, $is_running);
if ($init && $access) {
$init['file_browser_callback'] = 'imceImageBrowser';
if (!isset($integrated)) {
$integrated = TRUE;
drupal_add_js("function imceImageBrowser(fid, url, type, win) {win.open(Drupal.settings.basePath +'?q=imce&app=TinyMCE|url@'+ fid, '', 'width=760,height=560,resizable=1');}", 'inline');
}
}
switch ($textarea_name) {
// идентификаторы текстовых элементов - исключений.
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 'nodewords-description':
case 'edit-nodewords-description':
case 'description': // taxonomy terms
unset($init);
break;
// Force the 'simple' theme for some of the smaller textareas.
case 'signature':
case 'site_mission':
case 'site_footer':
case 'site_offline_message':
case 'page_help':
case 'user_registration_help':
case 'user_picture_guidelines':
$init['theme'] = 'simple';
foreach ($init as $k => $v) {
if (strstr($k, 'theme_advanced_')) unset($init[$k]);
}
break;
case 'teaser':
$init['height'] = '150px';
default:
break;
}
return $init;
}
?>
Ещё один вопрос. Что делает блок кода приведенный ниже:
case 'signature':
case 'site_mission':
case 'site_footer':
case 'site_offline_message':
case 'page_help':
case 'user_registration_help':
case 'user_picture_guidelines':
$init['theme'] = 'simple';
foreach ($init as $k => $v) {
if (strstr($k, 'theme_advanced_')) unset($init[$k]);
}
break;
case 'teaser':
$init['height'] = '150px';
default:
break;
Сорри за глупые вопросы, в пхп не силен.
устанавливает "упрощенную" тему тини там где надо.
Кстати у последнего тини замечен баг в мозилле. вместо <strong> тегов он ставит тэги <b>
Блин, как у вас все сложно...
Ставте модуль Тинитинимси, и вся отключайте прямо из админки этого модуля...
И править темы не нужно...
И модуль Тинитинимси позволяет настраивать расположение кнопок, добавлять свои кнопки и вообще он гибче и мощнее...
В разделе "// идентификаторы текстовых элементов - исключений." указаны те поля в которых тини не будет работать? Я правильно понимаю?