In Liferay, un portlet può aprire un portlet separato all'interno di un nuovo dialogo AUI?
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