2015-12-15 3 views
2

Как установить TinyMCEtemplates после инициализации? Возможно ли это в TinyMCE 4?Установить параметр редактора TinyMCE после инициализации

Я видел в исходном коде Template plugin, что этот параметр читается каждый раз, когда пользователь нажимает кнопку «Вставить шаблон». Поэтому я думаю, что он мог бы получить новую ценность при каждом нажатии.

пс. Возможным решением может быть использование URL-адреса в templates, но давайте притворимся, что это не так.

ответ

0

UPDATE: В TinyMCE Шаблоны v4.3.3 плагин был обновлен, поэтому templates установка может быть функцией, которая получает обратный вызов, который может предоставить шаблоны. Хорошие новости, вам не придется латать плагин =)

Initialization:

$scope.tinyMceOptions = { 
    plugins: 'template', 
    ... 
    templates: function(callback) { 
     // Here you can do whatever you want with callback; 
     // for example, you can provide different arguments on every click 
     callback($scope.variableTemplates); 
    } 

(Для предыдущих версий TinyMCE) Мое решение залатать шаблона плагин, который я могу указать функцию как поставщик шаблонов. Вот что я добавил к createTemplateList() функции:

else if (typeof templateList === 'function') { 
    callback(templateList()); 
} 

И во время инициализации указываю функцию в templates:

$scope.tinyMceOptions = { 
    plugins: 'template', 
    ... 
    templates: function() { 
     return $scope.variableTemplates; 
    } 
1

Я попытался сделать это несколько дней назад - специально для загрузки элементов в подменю при нажатии кнопки подменю. Похоже, это та же проблема.

Я не мог найти способ сделать это, кроме уничтожить экземпляр редактора и снова вызвать tinymce.init() с измененной конфигурацией.

Смежные вопросы