1

我在 Django 1.10.7 和 Python 3.6.2 上有 Mezzanine 4.2.3。

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

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

我不精通JavaScript。找到正确的文件后,我复制粘贴了用于插件和工具栏的 Classic js,结果好坏参半:

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

DOES NOT WORK 字体颜色、背景颜色、视频嵌入(5 毫克太大了!?)、剪切、粘贴、块引用

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

选择文本后,很难点击退出选择。这样做需要三下或更多的点击。我切换回他们最初的“内容 css”设置,但颜色字体和 bg 仍然不起作用。我也重新启动了服务器,但没有任何效果。我有枕头。我不确定下一步该怎么做。

我将此发布到夹层组,但没有得到任何回复。我还发布到 TinyMCE,他们说因为他们不了解 Mezzanine,所以我应该去那里。

更新

好吧,我的错,我忽略了包含代码。这是原始的默认代码:

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 代码的链接

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 和文件浏览器中,所以我不知道如何通过手术去除所有这些,也不知道可能会导致什么样的附带损害.

4

1 回答 1

0

如果您在我对 halfer 评论的回复中点击链接,您将在那里看到我终于得到了一个有效的答案。我希望这对其他人有所帮助。

于 2017-08-21T22:02:22.813 回答