Я ищу код, который добавил бы раскрывающийся список к моим полям WYSIWYG в бэкэнде WordPress, с помощью которого я мог бы выбрать встроенную высоту строки для выделенного текста. Я нахожу документацию tinyMCE очень запутанной. Кроме того, он в основном нацелен на TM 3, но WP 3.9 использует четвертую версию…
Мой плагин tinyMCE выглядит примерно так:
tinymce.PluginManager.add('ad_lineheight', function(editor, url) {
…
editor.addButton('ad_lineheight', {
type: 'splitbutton',
text: 'line-height',
icon: false,
menu: menuval
});
});
Как бы вы интегрировали функцию, которая добавляет встроенные стили к выбранному вводу, например <span style="line-height: 120%; display: inline-block;">selected text</span>
?
РЕДАКТИРОВАТЬ: мне уже удалось добавить раскрывающийся список в редактор, он показывает высоту строки, которую я определил программно, например 80%, 90%, 100% и так далее.
EDIT2: с помощью этого кода я могу изменить высоту строки:
editor.addCommand('lineHeight', function(com, value) {
var selected = tinyMCE.activeEditor.selection.getContent();
var content = '<span style="line-height: '+value+';">' + (selected != '' ? selected : '') + '</span>';
editor.execCommand('mceInsertContent', false, content);
});
editor.addButton('lineheightselect', function() {
…
…
return {
type: 'listbox',
text: 'line-height',
tooltip: 'line-height',
values: items,
fixedWidth: true,
onclick: function(e) {
if (e.control.settings.value) {
editor.execCommand('lineHeight', false, e.control.settings.value);
}
}
};
});
Но это не очень практично, так как игнорирует встроенные стили, которые уже есть, что приводит к такому коду:
<span class="h3" style="font-size: 90%;"><span style="line-height: 160%;">AND</span></span>