我正在使用TinyMCE,并尝试通过API动态加载模板。但是,即使使用基本返回,也不会加载模板(例如将模板列表设置为变量)。它们从外部JSON文件加载(硬编码)。我的问题是:如何返回或呈现自定义TinyMCE模板?
例如:
这有硬编码模板,所以它可以工作:
templates: "/Content/data/templates.json"
但我正努力实现(在基础层面上):
templates:
function () {
var test =
{ title: 'Test template 1', content: 'Test 1' };
return tinymce.util.JSON.parse(test); // doesn't work
//return JSON.stringify(templates); // doesn't work
},
在原始比例上(代码不完整):
templates:
function () {
$.getJSON('/Template', function (result) {
var data = {};
$.each(result.ResponseObject, function (index, value) {
data.title = value.Name;
data.description = value.Name;
data.content = value.Description;
// can't figure out how to return variable
});
});
答案 0 :(得分:1)
模板选项需要Array
模板或URL
(作为String
) - 您正在向其发送一个功能,以便无效。
https://www.tinymce.com/docs/plugins/template/#templates
根据文件......
“如果此选项是字符串,那么它将作为URL请求 应该以选项接受的相同格式生成JSON输出。“
...所以我会更新您的服务器端代码以返回编辑器期望的内容,并在TinyMCE配置中传递该URL。