我的结果有点简单。我只是<cms:control />
从 HTML 源代码编辑器中删除标签的内容。
在 tinymce init 上进行以下操作:
ed.onPreInit.add(function () {
ed.parser.addNodeFilter('cms:control', function (nodes) {
var i = nodes.length;
while (i--)
objectToHtml(nodes[i], ed.schema);
});
ed.serializer.addNodeFilter('cms:control', function (nodes, name, args) {
var i = nodes.length,
node;
while (i--) {
node = nodes[i];
htmlToObject(node, args);
}
});
});
function objectToHtml(node, schema) {
node.empty();
var html = '<label>Test<input type="text" /></label>' +
'<label>Test2<input type="text" /></label>';
var parser = new tinymce.html.DomParser({validate: true}, schema);
var rootNode = parser.parse(html);
node.append(rootNode);
}
function htmlToObject(node, args) {
node.empty();
}