Роли для TinyMCE

Главные вкладки

Аватар пользователя romantaran romantaran 17 ноября 2006 в 0:43

Можно ли сделать так, чтобы при публикации статьи показывалось больше кнопок форматирования, а при публикации комментария — минимум? Т.е. можно ли создать разные роли для нод и для комментов?

Комментарии

Аватар пользователя Shedko Shedko 17 ноября 2006 в 1:24

Конечно да, ведь это Друпал Smile

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

Аватар пользователя dyp@drupal.org dyp@drupal.org 17 ноября 2006 в 11:10

вообще то мне кажется это несовсем то т.к. чел из группы авторов может писать комментарии, при этом у него будет полный набор кнопок.

Аватар пользователя romantaran romantaran 17 ноября 2006 в 15:03

Что-то у меня ничего не получилось. После того, как создал роль comment_publisher, редактор в других ролях вообще перестал появляться...

Аватар пользователя romantaran romantaran 17 ноября 2006 в 15:21

Да, похоже, возникает конфликт профилей. Если пользователь принадлежит сразу двум ролям, которым разрешен доступ к TinyMCE, то в поле комментария редактор есть, во всех других нет.

Аватар пользователя romantaran romantaran 17 ноября 2006 в 16:13

Заметил закономерность: профиль TinyMCE, первая буква имени которого идет раньше, "забивает" собой другой профиль, имя которого в алфавитном порядке идет позже.

Аватар пользователя Shedko Shedko 18 ноября 2006 в 5:52

тогда идем сюда,
http://drupal.org/node/53296#comment-124384

там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.

Автоматом Tiny такое делает уже и у Вас, например зайдите на своем сайте в редактирование своего профиля, и в поле для "Подпись" будет "облегченная" версия редактора.

Аватар пользователя Shedko Shedko 21 ноября 2006 в 0:46

т.е. добавив функцию

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 ($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, плюс в этой функции можно делать и проверку на то что юзер относится к определенной роли и затем уж выдавать нужный вариант.

Аватар пользователя dyp@drupal.org dyp@drupal.org 10 января 2007 в 20:43

''там приводится пример как заставить Tiny автоматом выбирать скин(кнопки) для различных полей ввода.''
Случайно не знаете есть ли возможность для поля comment на форуме сделать advanced theme а для остальных нод simple?

Аватар пользователя Old.timer Old.timer 10 января 2007 в 21:17

Вопрос - что делать тем, кто проапгрейдил до 5.0? В TinyMCE весь функционал (профили) урезали. Придется все-таки модуль переписать..