kimono
@kimono
Web developer

Как сохранить стили в диалоговом окне windowManager в TinyMCE?

Хочу сделать загрузку изображений прямо в TinyMCE. Т.е. нажал в редакторе кнопку, выходит диалоговое окно, нажимаешь в нем еще кнопку, выбираешь изображение с компьютера, нажимаешь загрузить, картинка отправляется на сервер, как положено там сжимается, сохраняется в хранилище и возвращается ее локальный (относительно сайта) адрес, который можно спокойно вставить в редактор.
Использую YII2, для загрузки берем BootstrapFileInput от Krajee.
Вот пример: plugins.krajee.com/file-basic-usage-demo#basic-exa....
Создаю кнопку в TinyMCE:
setup: function (editor) {
  editor.addButton('mybutton', {
    text:     'My button',
    icon:     false,
    onclick:  function () {
      editor.windowManager.open({
        title:  'Loading image',
        html:   '<input id="file-loader" type="file" class="file" name="UploadForm[image][]">',
      });
      $('#file-loader').fileinput();
    }
  });
}

Все работает, но слетают стили.
Ожидается, что окно загрузки будет иметь вид:
1f9f5ab4e6bb4348a3e676a639f6c83d.png
На самом деле оно выглядит так:
9ac659c3894f4842921ea13efa942824.png
Все происходит из-за того, что для mce-container * {} TinyMCE применяет такие стили:
f28fd67454e14158943afbf68b4348c4.png
И если в браузере изменить класс окна с mce-container на mce-container2, например, то получаем такую картинку:
05180d8dee034d09b5a8649e6f77098c.png
Тоже ватный вариант. Есть какие-нибудь решения, для вставки нормального кода в диалоговое окно с сохранением стилей?
  • Вопрос задан
  • 332 просмотра
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Надо что бы krajee подключался после редактора. Пропишите зависимость css загрузчика от css редактора в assets
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы