我正在为我的企业开发一个使用ASP.net的外部模板管理器。
在此外部模板管理器中,用户可以执行所有CRUD操作,因此可以创建/读取/更新/删除。
我的企业的许多部门使用了模板,因此我在模板管理器中创建了一个类别字段,因此他们可以过滤一下。
我想修改template plugin的plugin.js以添加动态列表框类别。
因此,当用户想要在编辑器中添加模板时,他可以选择他的部门[类别],只有相关模板才会显示在列表框[模板]中。
我从带有ASP转发器控件的MS SQL DB中获取了所有模板定义[标题,内容,描述,类别]。
转发器的结果生成模板插件所需的定义
templates:
[
{"title": "Some title 1", "description": "Some desc 1", "content": "My
content", "category": "support"},
]
所以我尝试过测试(因为我对JS ad Oriented Object不好):
`
win = editor.windowManager.open({
标题:'插入模板',
布局:' flex',
方向:'列',
对齐:'伸展',
填充:15,
间距:10,
items: [
{
type: 'form', flex: 0, padding: 0, items: [
{
type: 'container', label: 'Templates', items: {
type: 'listbox', label: 'Templates', name: 'template',
values: values, onselect: onSelectTemplate
}
//Added BY ME
type: 'container', label: 'Category', items: {
type: 'listbox', label: 'Category', name:'category', values:
valuesCategory, onselect: onSelectCategory
}
}
]
},
{ type: 'label', name: 'description', label: 'Description', text:
'\u00a0' },
{ type: 'iframe', flex: 1, border: 1 }
],
onsubmit: function () {
insertTemplate(false, templateHtml);
},
minWidth: Math.min(DOMUtils.DOM.getViewPort().w,
editor.getParam('template_popup_width', 600)),
minHeight: Math.min(DOMUtils.DOM.getViewPort().h,
editor.getParam('template_popup_height', 500))
});
win.find('listbox')[0].fire('select');
win.find('listbox')[0].fire('select');
}`
并定义valuesCategory& onSelectCategory在某处。
列表框没有显示在Dialog?
中我已经在互联网上搜索了类似于tinymce的东西,但是我找不到这样的东西,有人可以帮助我发展这个功能吗?
感谢您的回答!
度过愉快的一天
答案 0 :(得分:0)
为什么不从服务器端计算有效插件而只是在编辑器配置中包含相关模板,而不是修改编辑器的源代码?
这使您无需修改编辑器的源代码,人们也无法查看其他部门的模板。