0
我已經遍佈Liferay網站,並沒有找到有效的答案。我想要做的是在我的自定義portlet中有一個JavaScript函數,它將打開一個AUI對話框,並且該對話框顯示來自完全獨立的portlet的view.jsp內容。在Liferay中,一個portlet可以在新的AUI對話框中打開一個單獨的portlet嗎?
這裏是我到目前爲止有:
AUI().ready('aui-dialog','aui-dialog-iframe','liferay-portlet-url', function(A) {
var url = Liferay.PortletURL.createResourceURL();
url.setPortletId("my_portlet_that_I_want_in_a_dialog");
url.setWindowState('pop_up');
#foreach ($parameter IN $parameters.getSiblings())
url.setParameter("${parameter.data}", "${parameter.value.data}");
#end
window.myDialog = new A.Dialog(
{
title: 'My Dialog',
width: 640,
centered: true
}
).plug(
A.Plugin.DialogIframe,
{
uri: url.toString(),
iframeCssClass: 'dialog-iframe'
}
)
});
然後,在一個完全不同的Portlet,我有一個JavaScript函數調用:
window.myDialog.render()
該作品不多。但是,當出現對話框時,它總是空白或無限地顯示「加載」動畫。
可能與:在Firebug控制檯,我看到
「衣:未加載:延遲任務」
不知道這是關係到當前的問題或不。謝謝您的幫助。
編輯:如果我將URL變量記錄到控制檯,然後將該URL複製並粘貼到新選項卡中,則該響應是完全空白的。這使我相信我要麼沒有正確生成URL,要麼出現某種類型的portlet間權限問題。
可能是因爲沒有加載的「延遲任務」導致整個腳本中斷。否則,你的代碼看起來不錯。 – 2012-01-17 21:20:09
我以爲同樣的事情,但無法找到任何有關如何加載的信息。 ROOT.war中Alloy文件夾下有一個延遲任務文件夾。 – nerdabilly 2012-01-17 21:22:10
我還發現http://issues.liferay.com/browse/LPS-13893可能是您的問題的原因,並看到它在RC1中修復。你使用的是什麼版本的6.1? – 2012-01-17 21:24:10