In Liferay, un portlet può aprire un portlet separato all'interno di un nuovo dialogo AUI?

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

  •  29-10-2019
  •  | 
  •  

Domanda

Sono stato dappertutto i siti Liferay e non ho trovato una risposta che funziona. Quello che voglio fare è avere una funzione JavaScript all'interno del mio portlet personalizzato che aprirà una finestra di dialogo AUI e quella finestra di dialogo mostra il contenuto View.jsp da un portlet completamente separato.

Ecco cosa ho finora:

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'
        }
    )
});

Quindi, in un portlet completamente diverso, ho una funzione JavaScript che chiama:

window.myDialog.render()

Questo funziona tanto. Tuttavia, quando appare la finestra di dialogo, è sempre vuota o mostra infinitamente un'animazione "caricamento".

Forse correlato: Nella console Firebug, vedo

"Yui: non caricato: task ritardato"

Non sono sicuro che ciò sia correlato al problema attuale o meno. Grazie per l'aiuto.

MODIFICARE: Se registro la variabile URL alla console, quindi copiare e incollare l'URL in una nuova scheda, la risposta è completamente vuota. Questo mi porta a credere che o non sto generando correttamente l'URL o che c'è una sorta di problema di autorizzazioni inter-portlet in corso qui.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top