我在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