夹层中的 TinyMCE 设置

TinyMCE settings in Mezzanine

我在 Django 1.10.7 和 Python 3.6.2 上安装了 Mezzanine 4.2.3。

Mezzanine 在管理中带有一个 TinyMCE 编辑器。我不确定编辑器上的版本是什么,但我认为它是 4+。默认编辑器非常基础,所以我想添加更多功能。

Mezzanine 显然使用了他们自己的 TinyMCE 自定义设置。它看起来不像 TinyMCE 文档参考的那个,他们也不使用 django-tinymce.

我不是很懂JavaScript。找到正确的文件后,我复制粘贴了用于插件和工具栏的 Classic js,结果喜忧参半:

作品 粗体、斜体、下划线、删除线、右对齐、左对齐、居中和完全对齐、增加和减少缩进、查找和替换、复制、字体、代码、前置、标题、插入图像、打印、预览

不起作用 字体颜色、背景颜色、视频嵌入(5 mg 太大了!?)、剪切、粘贴、块引用

真正奇怪的是:在编辑器和预览中,字体和背景颜色工作正常。但是当我打开网站时,什么也没有,当我回到编辑器时,已经没有任何颜色的迹象了。相反,在编辑器中,您无法区分 Code 和 Pre,但在网站上,它们看起来不同,而且应该如此。我现在最好的猜测是这可能是一个 CSS 问题,但我还没有检查过。我仍在了解哪些有效,哪些无效。

select输入文字后,很难点击 select。需要点击三次或更多次才能这样做。我切换回他们原来的 'content css' 设置,但颜色字体和背景仍然不起作用。我也重新启动了服务器没有效果。我有枕头。我不确定下一步该怎么做。

我把这个发到夹层组,但没有得到回复。我也发布到 TinyMCE,他们说因为他们不知道夹层我应该去那里。

更新

好吧,不好意思,我忘了包含代码。这是原始的默认代码:

var tinymce_config = {
    height: '500px',
    language: language_codes[window.__language_code] || 'en',
    plugins: [
    "advlist autolink lists link image charmap print preview anchor",
    "searchreplace visualblocks code fullscreen",
    "insertdatetime media table contextmenu paste"
],
link_list: window.__link_list_url,
relative_urls: false,
convert_urls: false,
menubar: false,
statusbar: false,
toolbar: ("insertfile undo redo | styleselect | bold italic | " +
          "alignleft aligncenter alignright alignjustify | " +
          "bullist numlist outdent indent | link image table | " +
          "code fullscreen"),
file_browser_callback: custom_file_browser,
content_css: window.__tinymce_css,
valid_elements: "*[*]"  // Don't strip anything since this is handled by bleach.
};

这是我使用的来自 TinyMCE 的代码的 link

https://www.tinymce.com/docs/demo/classic/

这就是我的代码现在的样子

var tinymce_config = {
    height: '500px',
    language: language_codes[window.__language_code] || 'en',
    plugins: [
        "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak",
        "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
        "table contextmenu directionality emoticons template textcolor paste fullpage textcolor colorpicker textpattern"
    ],
    link_list: window.__link_list_url,
    relative_urls: false,
    convert_urls: false,
    menubar: false,
    statusbar: false,
    toolbar1: "newdocument fullpage | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | styleselect formatselect fontselect fontsizeselect",
    toolbar2: "cut copy paste | searchreplace | bullist numlist | outdent indent blockquote | undo redo | link unlink anchor image media code | insertdatetime preview | forecolor backcolor",
    toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | visualchars visualblocks nonbreaking template pagebreak restoredraft",
    // content_css: [
    //     '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
    //     '//www.tinymce.com/css/codepen.min.css'],
    file_browser_callback: custom_file_browser,
    content_css: window.__tinymce_css,
    valid_elements: "*[*]"  // Don't strip anything since this is handled by bleach.
};

从那以后我发现自己制作这些东西相对容易。有关于如何操作的 youtube 教程。我深入研究这个选项的问题是 Mezzanine 在整个程序中分散了 TinyMCE,包括在 grapelli 和文件浏览器内部,所以我不确定如何通过手术去除所有这些,也不知道会导致什么样的附带损害.

如果您关注我对 halfer 评论的回复中的 link,您会在那里看到我终于得到了一个有效的答案。我希望这能帮助别人。