我在Plone 4.3.6网站上有一些“经典”图块,其中包含使用plone.formwidget.contenttree
小部件的richtext
字段和两个RelationChoice
字段。 我已经安装了plone.app.widgets 1.8.0
(以及p.a.contenttypes),并且我无法获得新的TinyMCE和新的relateditems
模式小部件以正常工作。如果我直接加载平铺视图URL(在@@edit-tile/....
的URL处),这些小部件实际上显示并正常工作。但是在iframe/overlay中,他们没有。如何让图案小部件在iframe覆盖图中工作
的prep-overlay
看起来是这样的:
jQuery('.tile-editable').each(function() {
jQuery(this).find('a.tile-edit-link, a.tile-delete-link').
prepOverlay({
subtype: 'iframe',
config: {
onLoad: function (e) {
jQuery('body').addClass('noscroll');
return true;
},
onClose: function() {
jQuery('body').removeClass('noscroll');
location.reload();
}
}
});
});
iframe的负载++resource++plone.app.widgets.js
在头和字段给出pat-relateditems
和pat-tinymce
类如预期。但relateditems
模式内的init
方法永远不会被调用。我想iframe DOM不会被模式解析,但我不知道在哪里寻找原因。 FWIW,有在控制台中的错误:
Uncaught Error: Mismatched anonymous define() module: function(){return eb}
http://requirejs.org/docs/errors.html#mismatch
在plone.app.widgets.js
:166,但我不知道这是一个从未来的,或者如果它很重要。
是否有任何技巧让模型小部件在ifram叠加层中工作?
感谢您的支持!我仍然不确定这些模式是否被重新初始化。对于registry.scan中的SELECTOR,我使用了registry.scan($('.overlay-iframe')。contents()。find('body')[0]);我尝试了[0]和没有。 – fulv
它看起来在iframe被创建之后,但在加载任何内容之前被调用。它只有一个空的头部和身体。 – fulv
好吧,我已将您的建议代码移至iframe内容的头部,并且可以在我的选择器中使用“文档”。现在我终于可以获得相关的项目模式。 tinymce也几乎可以工作,它只是抛出一个奇怪的错误,但似乎加载,无论如何。 – fulv