Есть ли способ выбрать опции TinyMCE по умолчанию? - PullRequest
1 голос
/ 24 февраля 2011

Скажем, я хочу, чтобы при инициализации редактора по умолчанию была выбрана опция «полужирный».Как бы я это сделал?

РЕДАКТИРОВАТЬ: Решение, работающее с ответом Тариама, заключается в следующем.Я обнаружил, что тег <p>, оставленный там, прикручен к выбору других опций, например, с другими заголовками, и так как мне не нужен тег <p> в этом конкретном редакторе, я сделал это для того, чтобы получить <h1>по умолчанию:

setup: function(ed) { 
    ed.onInit.add(function(ed) {
        if ($('p', ed.getDoc()).length > 0) {
            $('p', ed.getDoc()).remove();
            $('<h1><br mce_bogus="1" /></h1>').appendTo($('body', ed.getDoc()));
        }
    });
}

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

EDIT2: Это работает, если вам нужно <p> тег.Это делает его по умолчанию жирным шрифтом :

setup: function(ed) { 
    ed.onInit.add(function(ed) {
        if ($('p', ed.getDoc()).children().length == 1 && $('p', ed.getDoc()).children(':first').is('br')) {
            $('p', ed.getDoc()).html('<b><br mce_bogus="1" /></b>');
        }
    });
}

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Вместо того, чтобы делать это, когда пользователь вводит его, почему бы не вывести значения внутри полужирного тега, когда вы выводите данные пользователю за пределами tinyMCE?Таким образом, у пользователя нет возможности переопределить этот параметр, как если бы у вас просто был тег внутри.

В качестве отступления, если вы используете TinyMCE для веб-редактора wysiwg в среде, где пользователи сначалагенерировать код в Microsoft Word, есть значительные проблемы с получением «ненужного» кода слова через вставку.Решение Tiny - кнопка «вставить из слова», которую пользователи часто игнорируют - я развернул Tiny на более чем 50 бизнес-сайтах, и это было серьезной проблемой для большинства клиентов, использующих эти сайты.Я переключился на CKEditor, который выполняет зачистку кода на FRONT, и все было хорошо.У людей есть свои предпочтения, и мне даже больше нравилось использовать Tiny.Но проблемы с Word Code стали для меня проблемой, и я больше не буду устанавливать Tiny.

0 голосов
/ 24 февраля 2011

Процедура выбора зависит от многих факторов.Если у вас есть пустой редактор tinymce, вы можете инициализировать ваш редактор следующим содержанием

<p><strong><strong></p>

Пожалуйста, обновите ваш вопрос относительно вашего варианта использования.

РЕДАКТИРОВАТЬ: Это можетработать лучше для вас.Добавьте этот обработчик в один из ваших собственных плагинов.Он проверяет все абзацы (если ваша tinymce использует div, вам нужно изменить этот фрагмент кода) и упаковывает внутренний HTML-код в b-теги (вы можете использовать сильные теги).

    ed.onInit.add(function(ed){
        ps = ed.getDoc().getElementsByTagName('p');
        for (var i=0; i < ps.length ; i++) {
            ps[i].innerHTML = '<b>'+ps[i].innerHTML+'</b>';
        }
    });

Другойу вас есть возможность не использовать собственный плагин, а использовать параметр настройки при инициализации tinymce:

setup : function(ed) {

    ed.onInit.add(function(ed){
        ps = ed.getDoc().getElementsByTagName('p');
        for (var i=0; i < ps.length ; i++) {
            ps[i].innerHTML = '<b>'+ps[i].innerHTML+'</b>';
        }
    });
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...