【发布时间】:2017-08-16 20:26:47
【问题描述】:
我在 Django 1.10.7 和 Python 3.6.2 上有 Mezzanine 4.2.3。
Mezzanine 在管理中带有一个 TinyMCE 编辑器。我不确定编辑器上的版本是什么,但我认为它是 4+。默认编辑器非常基本,所以我想添加更多功能。
Mezzanine 显然为 TinyMCE 使用了他们自己的自定义设置。它看起来不像 TinyMCE 文档参考的那个,也不使用 django-tinymce。
我并不精通 JavaScript。找到正确的文件后,我复制粘贴了用于插件和工具栏的 Classic js,结果喜忧参半:
作品 粗体、斜体、下划线、删除线、右、左、居中和完全对齐、增加和减少缩进、查找和替换、复制、字体、代码、前置、标题、插入图像、打印、预览
不工作 字体颜色、背景颜色、视频嵌入(5mg 太大了!?)、剪切、粘贴、块引用
真正奇怪的是:在编辑器和预览中,字体和背景颜色工作正常。但是当我打开网站时,什么也没有,当我回到编辑器时,已经没有任何颜色的迹象了。相反,在编辑器中,您无法区分 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 和文件浏览器中,所以我不知道如何通过手术去除所有这些,也不知道可能会导致什么样的附带损害.
【问题讨论】:
-
您会在所有交叉帖子中添加指向您帖子的链接,以便希望回复的读者可以在发布前检查您的重复内容吗?这样,如果您在其他地方收到了答案,他们就可以避免浪费时间。
-
@halfer 这是 google 群组帖子的链接:groups.google.com/forum/#!topic/mezzanine-users/SwIRGLDSoUg。我现在有一个响应,如下:将默认设置从
mezzanine/core/static/mezzanine/js/tinymce_setup.js复制到您的静态资产中,将TINYMCE_SETUP_JS... 值更改为您的自定义路径,然后对其进行修改。这很好,除了它引出了一个问题,即要进行哪些修改。我在 TinyMCE 社区网站上发布的帖子已被删除!显然他们不喜欢超过一周的帖子。
标签: javascript tinymce mezzanine tinymce-plugins