1
  • 克隆 4.2.1.1
  • plone.tiles 1.2
  • plone.app.tiles 1.0.1
  • plone.app.blocks 1.0
  • plone.app.drafts 1.0a2
  • 产品.TinyMCE 1.2.15

我有一个 Plone 站点,页面上有两个富文本图块,创建于使用图块提供更灵活的 Plone 布局之后。

问题是在编辑图块时,TinyMCE 不会加载。

在 Net 选项卡上的 Firebug 中,我看到一大堆 404,如下所示:

http://example.com/en/front-page/@@edit-tile//plugins/pagebreak/editor_plugin.js

相比之下,我知道正确的 URL 应该是这样的:

http://example.com/portal_javascripts/MyTheme/plugins/xhtmlxtras/editor_plugin.js

当我将portal_javascripts 设置为开发模式时,它可以工作,但是当我关闭开发模式时,我就看到了这个问题。

所以显然这是由于某种javascript冲突,但我不知道在哪里寻找它。

我真的需要解决这个问题,所以任何帮助将不胜感激!


附加信息:

当portal_javascripts关闭开发模式时,此行中的条件永远不会为真:https ://github.com/plone/Products.TinyMCE/blob/1.2.x/Products/TinyMCE/skins/tinymce/tiny_mce_src.js#L47

那是因为 tiny_mce.js 文件与其他文件合并,并且名称是随机的,因此按名称查找总是会失败。因此,不会在 中设置对象的baseURL属性。相反,最终设置在这里: https ://github.com/plone/Products.TinyMCE/blob/1.2.x/Products/TinyMCE/skins/tinymce/tiny_mce_src.js#L8397tinymceinitbaseURL

这是http://example.com/my-page/@@edit-tile/使用URL 的地方baseURL

我通过关闭portal_javascripts 中的合并和缓存验证了这一点,但关闭了开发模式。然后它起作用了,因为它tiny_mce.js按名称查找。

此外,我发现当它失败时,所有 TinyMCE 的插件都作为显式<script>元素添加到 iframe 的头部(带有@@edit-tile无法加载的 URL)。相比之下,当它工作时,所有插件都在这里加载: https ://github.com/plone/Products.TinyMCE/blob/1.2.x/Products/TinyMCE/skins/tinymce/tiny_mce_src.js#L8458

IOW,它们没有作为<script>元素显式添加到 iframe 中。

(如果我不清楚,当我提到 iframe 时,我说的是磁贴的编辑叠加层,而不是 TinyMCE 的。iframe 中有一个 iframe ......)

4

0 回答 0