Liferayでは、1つのポートレットが新しいAUIダイアログ内に別のポートレットを開くことができますか?
質問
私はLiferayサイト全体にいて、うまくいく答えを見つけていません。私がやりたいのは、AUIダイアログボックスを開くカスタムポートレット内にJavaScript関数を持つことです。そのダイアログボックスは、完全に独立したポートレットからのview.jspコンテンツを示しています。
これが私がこれまでに持っているものです:
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'
}
)
});
次に、まったく異なるポートレットで、私は次のことを呼び出すJavaScript関数を持っています。
window.myDialog.render()
これはうまくいきます。ただし、ダイアログが表示されると、常に空白または「ロード」アニメーションが無限に表示されます。
おそらく関連: :FireBugコンソールでは、見ています
「ユイ:ロードされていない:遅延タスク」
それが現在の問題に関連しているかどうかはわかりません。助けてくれてありがとう。
編集: URL変数をコンソールにログに記録すると、URLをコピーして新しいタブに貼り付けます。応答は完全に空白です。これにより、私はURLを正しく生成していないか、ここで何らかのポートレット間許可の問題があると信じています。
正しい解決策はありません
所属していません StackOverflow