TinyMCE 插件模板添加类别列表框

TinyMCE Plugin Template add category Listbox

我正在为我的企业开发一个外部模板管理器 ASP.net。

在这个外部模板管理器中,用户可以执行所有的CRUD操作,因此他们可以创建/读取/更新/删除。

我企业的很多部门都使用这些模板,所以我在我的模板管理器中创建了一个类别字段,这样他们就可以进行一些过滤。

我想修改template plugin的plugin.js添加一个动态列表框类别。

因此,当用户想要在编辑器中添加模板时,他可以 select 他的部门 [category] ​​并且只有相关的模板才会显示在列表框 [template] 中。

我从带有 ASP 转发器控件的 MS SQL 数据库中获取所有模板定义[标题、内容、描述、类别]。

转发器的结果生成模板插件需要的定义

templates:
[
{"title": "Some title 1", "description": "Some desc 1", "content": "My 
content", "category": "support"},
]

所以我只是尝试测试(因为我不擅长 JS 广告导向 Object): `
赢 = editor.windowManager.open({ 标题:'Insert template', 布局:'flex', 方向:'column', 对齐:'stretch', 填充: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。

对话框中没有显示列表框?

我在互联网上搜索过与 tinymce 类似的东西,但我没有找到类似的东西,有人可以帮助我开发这个功能吗?

感谢您的回答!

祝你有愉快的一天

为什么不修改编辑器的源代码而不是从服务器端计算有效插件并且只在编辑器配置中包含相关模板?

这样您就无需修改编辑器的源代码,人们将无法看到不同部门的模板。