2

初始化后如何设置TinyMCE选项? templatesTinyMCE 4有可能吗?

我在模板插件的源代码中看到,每次用户单击“插入模板”按钮时都会读取此选项。所以我认为它可以在每次点击时获得一个新的价值。

附言。一个可能的解决方案是在 中使用 URL templates,但我们假设它不是。

4

2 回答 2

1

几天前我尝试这样做 - 特别是在单击子菜单按钮时将项目加载到子菜单中。听起来这是同样的问题。

除了销毁编辑器实例并使用修改后的配置再次调用 tinymce.init() 之外,我找不到这样做的方法。

于 2015-12-15T09:08:02.763 回答
0

更新:在 TinyMCE v4.3.3 中更新了模板插件,因此templates设置可以是一个获取可以提供模板的回调的函数。好消息,您不必修补插件 =)

初始化:

$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;
    }
于 2015-12-15T11:22:40.527 回答