Можно ли сделать так, чтобы при публикации статьи показывалось больше кнопок форматирования, а при публикации комментария — минимум? Т.е. можно ли создать разные роли для нод и для комментов?
1. Просто создаем две разные роли пользователей (node_publisher и comment_publisher )
2. "node_publisher" даем право на публикацию нод, а "comment_publisher" право оставлять комментарии.
3. Затем в профилях Tiny создаем новый профиль для роли "node_publisher" и вставляем нужные кнопки
4. Опять создаем новый профиль Tiny но уже для роли "comment_publisher" и выставляем лишь базовые кнопки форматирования.
5. Теперь пользователи которые относятся к обеим ролям будут видеть разные панели форматирования в нодах и комментариях.
P.S.
На drupal.org есть модуль, для автоматического присвоения новым пользователям определенных ролей - user_autorole
Да, похоже, возникает конфликт профилей. Если пользователь принадлежит сразу двум ролям, которым разрешен доступ к TinyMCE, то в поле комментария редактор есть, во всех других нет.
Заметил закономерность: профиль TinyMCE, первая буква имени которого идет раньше, "забивает" собой другой профиль, имя которого в алфавитном порядке идет позже.
там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.
Автоматом Tiny такое делает уже и у Вас, например зайдите на своем сайте в редактирование своего профиля, и в поле для "Подпись" будет "облегченная" версия редактора.
function ИМЯ_ТЕМЫ_tinymce_theme($init, $textarea_name, $theme_name, $is_running){
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 unset($init); break; // Force the 'simple' theme for some of the smaller textareas. case'signature': case'site_mission':
case'comment':
case'site_footer': case'site_offline_message': case'page_help': case'user_registration_help': case'user_picture_guidelines': $init['theme'] = 'simple'; foreach($initas$k =>$v){ if(strstr($k, 'theme_advanced_'))unset($init[$k]); } break; } // Add some extra features when using the advanced theme. // If $init is available, we can extend it if(isset($init)){ switch($theme_name){ case'advanced': $init['width'] = '100%'; break; } } // Always return $init return$init; }
Также все поля для ввода коментариев будут заменены на упрощенный вариант TINY, плюс в этой функции можно делать и проверку на то что юзер относится к определенной роли и затем уж выдавать нужный вариант.
''там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.''
Случайно не знаете есть ли возможность для поля comment на форуме сделать advanced theme а для остальных нод simple?
Комментарии
Конечно да, ведь это Друпал
1. Просто создаем две разные роли пользователей (node_publisher и comment_publisher )
2. "node_publisher" даем право на публикацию нод, а "comment_publisher" право оставлять комментарии.
3. Затем в профилях Tiny создаем новый профиль для роли "node_publisher" и вставляем нужные кнопки
4. Опять создаем новый профиль Tiny но уже для роли "comment_publisher" и выставляем лишь базовые кнопки форматирования.
5. Теперь пользователи которые относятся к обеим ролям будут видеть разные панели форматирования в нодах и комментариях.
P.S.
На drupal.org есть модуль, для автоматического присвоения новым пользователям определенных ролей - user_autorole
вообще то мне кажется это несовсем то т.к. чел из группы авторов может писать комментарии, при этом у него будет полный набор кнопок.
Что-то у меня ничего не получилось. После того, как создал роль comment_publisher, редактор в других ролях вообще перестал появляться...
Да, похоже, возникает конфликт профилей. Если пользователь принадлежит сразу двум ролям, которым разрешен доступ к TinyMCE, то в поле комментария редактор есть, во всех других нет.
Заметил закономерность: профиль TinyMCE, первая буква имени которого идет раньше, "забивает" собой другой профиль, имя которого в алфавитном порядке идет позже.
тогда идем сюда,
http://drupal.org/node/53296#comment-124384
там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.
Автоматом Tiny такое делает уже и у Вас, например зайдите на своем сайте в редактирование своего профиля, и в поле для "Подпись" будет "облегченная" версия редактора.
т.е. добавив функцию
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
unset($init);
break;
// Force the 'simple' theme for some of the smaller textareas.
case 'signature':
case 'site_mission':
case 'comment':
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;
}
// Add some extra features when using the advanced theme.
// If $init is available, we can extend it
if (isset($init)) {
switch ($theme_name) {
case 'advanced':
$init['width'] = '100%';
break;
}
}
// Always return $init
return $init;
}
Также все поля для ввода коментариев будут заменены на упрощенный вариант TINY, плюс в этой функции можно делать и проверку на то что юзер относится к определенной роли и затем уж выдавать нужный вариант.
Спасибо, попозже попробую.
''там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.''
Случайно не знаете есть ли возможность для поля comment на форуме сделать advanced theme а для остальных нод simple?
Вопрос - что делать тем, кто проапгрейдил до 5.0? В TinyMCE весь функционал (профили) урезали. Придется все-таки модуль переписать..