Как модальный TinyMCE может вернуть форматированный / визуальный текст? - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь настроить поведение кнопки редактора в плагине.При щелчке открывается модальное окно, где пользователь может ввести текст.После подтверждения я хочу обернуть этот текст в теги кода.Но я не хочу воспринимать этот текст как текстовый редактор, я хочу воспринимать его как визуальный текст.Это означает, что я хочу сохранить любое форматирование (пробелы и разрывы строк), но не принимать другие теги, кроме тегов кода, которые я добавляю позже.

function showDialog() {
    var win = ed.windowManager.open({
            title: "Insert code",
            body: {
                type: 'textbox',
                name: 'code',
                multiline: true,
                minWidth: ed.getParam("code_dialog_width", 600),
                minHeight: ed.getParam("code_dialog_height", Math.min(tinymce.DOM.getViewPort().h - 200, 500)),
                spellcheck: false,
                style: 'direction: ltr; text-align: left'
            },
            onSubmit: function(e) {
                ed.focus();

                ed.undoManager.transact(function() {
                    ed.insertContent('<code>' + e.data.code + '</code>');
                });

                ed.selection.setCursorLocation();
                ed.nodeChanged();
            }
        });
    }

1 Ответ

0 голосов
/ 20 февраля 2019

Сначала я бы обернул эту функцию в теги и обязательно запустил ее, добавив showDialog () в конце этой функции, чтобы DOM знал, как вызвать функцию.и с помощью фильтра содержимого WordPress он собирается добавлять пробелы независимо от того, что, если вы не отключите фильтр содержимого из автоматического заполнения формата.если вы зайдете на такой сайт, как https://www.willpeavy.com/minifier/, скопируете в него свой код и уменьшите пробелы, вы сможете включить его в текстовую (не визуальную) вкладку в MCE.При том, что запускать функциональный код в MCE - это действительно плохая практика, лучше создать для него отдельную страницу / шаблон Post.

...