Добавление кастомной кнопки в tinyMCE выше 5 версии
Здравствуйте
Подскажите, сталкивался ли кто-либо в задачей добавить в визуальный редактор свою кнопку кастомную, чтобы оборачивать текст в блок с классом, либо в кастомный тэг?
Ориентировался на данную статью
modx.pro/help/23224
получился вариант с добавлением шаблона, но не совсем удобно, тк вставляется сразу заготовка, а потом необходимо править ее содержимое скажем так, возможно ли выделять текст и оборачивать в класс?
Подскажите, сталкивался ли кто-либо в задачей добавить в визуальный редактор свою кнопку кастомную, чтобы оборачивать текст в блок с классом, либо в кастомный тэг?
Ориентировался на данную статью
modx.pro/help/23224
получился вариант с добавлением шаблона, но не совсем удобно, тк вставляется сразу заготовка, а потом необходимо править ее содержимое скажем так, возможно ли выделять текст и оборачивать в класс?
Комментарии: 1
У меня tinymcerte
Для него делал следующим образом:
1) В системных настройках (tinymcerte.plugins) в список плагинов редактора добавил свой myButtons
2) создал папку myButtons и файл внутри
assets/components/tinymcerte/js/vendor/tinymce/plugins/myButtons/plugin.min.js
В самом файле следующий код.
Оставил добавление двух видов, кнопку и ссылку
Как это выглядит по итогу
Для него делал следующим образом:
1) В системных настройках (tinymcerte.plugins) в список плагинов редактора добавил свой myButtons
2) создал папку myButtons и файл внутри
assets/components/tinymcerte/js/vendor/tinymce/plugins/myButtons/plugin.min.js
В самом файле следующий код.
Оставил добавление двух видов, кнопку и ссылку
tinymce.PluginManager.add('myButtons', function (editor, url) {
// Add a button that opens a window
editor.addButton('myButtonLink', {
text: 'Кнопка ссылка',
icon: false,
onclick: function () {
// Open window
editor.windowManager.open({
title: 'Параметры кнопки',
minWidth: 500,
body: [
{
type: 'textbox',
name: 'btnlink',
label: 'Ссылка',
tooltip: 'Если это ресурс на сайте, то указывать так: [[~33]] : где 33 - id ресурса/товара',
},
{
type: 'textbox',
name: 'btntext',
label: 'Текст на кнопке',
tooltip: '',
},
{
type: 'listbox',
name: 'btnclass',
label: 'Вид кнопки',
values: [
{ text: 'Зеленая', value: 'btn-green' },
{ text: 'Синяя', value: 'btn-blue' }
]
}
],
onsubmit: function (e) {
if (!e.data.btnlink) {
alert('Укажите ссылку для кнопки!');
return false;
}
editor.insertContent('<a href="'+e.data.btnlink+'" class="btn btn-middle '+e.data.btnclass+'">'+e.data.btntext+'</a>');
}
});
}
});
// Написать нам
editor.addButton('myButtonScribeUs', {
text: 'Написать нам',
icon: false,
onclick: function () {
editor.insertContent('<button type="button" class="btn btn-dark btn-middle" data-toggle="modal" data-target="#write-us" data-tab="0">Написать нам</button>');
}
});
});
Как это выглядит по итогу

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.