Liferayでは、1つのポートレットが新しいAUIダイアログ内に別のポートレットを開くことができますか?

StackOverflow https://stackoverflow.com/questions/8901792

  •  29-10-2019
  •  | 
  •  

質問

私は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を正しく生成していないか、ここで何らかのポートレット間許可の問題があると信じています。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top