popup - Mostrar portlet en pop-up Liferay
(1)
Finalmente consigo mostrar el portlet. Creé la url con javascript:
var url;
function createRenderURL(portletId) {
AUI().ready(''liferay-portlet-url'', function(A) {
var renderURL = Liferay.PortletURL.createRenderURL();
renderURL.setName("Banner");
renderURL .setPortletMode("edit");
renderURL .setWindowState("pop_up");
renderURL.setPortletId(portletId);
url = renderURL.toString();
});
}
El código para mostrar de pop-up es el mismo, pero paso el portletId como un parámetro y llamo a la función createRenderURL.
var url;
function createRenderURL(portletId) {
console.log("en el createRender");
AUI().ready(''liferay-portlet-url'', function(A) {
var renderURL = Liferay.PortletURL.createRenderURL();
renderURL.setName("Banner");
renderURL .setPortletMode("edit");
renderURL .setWindowState("pop_up");
renderURL.setPortletId(portletId);
console.log(renderURL);
url = renderURL.toString();
});
}
Espero que esto pueda ser útil para alguien.
Estoy tratando de mostrar un portlet (que previamente he creado) de otro, pero el pop-up está vacío. Primero, creo el renderURL:
<liferay-portlet:renderURL var="testPopupURL" portletName="<%=rule.getBannerPortletId() %>" windowState="<%=LiferayWindowState.POP_UP.toString() %>"></liferay-portlet:renderURL>
y hago el enlace:
<aui:a href="#" onClick="showPopup(''${testPopupURL}'')">View</aui:a>
y esta es la función showPopup:
function showPopup(url){
console.log("En el showPopup ");
AUI().ready(''aui-dialog'', ''aui-io'', ''event'', ''event-custom'', function(A) {
window.myDialog = new A.Dialog({
title: ''Banner'',
width: 640,
centered: true
}).plug(A.Plugin.DialogIframe, {
uri: url.toString(),
iframeCssClass: ''dialog-iframe''
}).render();
});
}
Puse en el liferay-portlet.xml (del portlet que quiero abrir en la ventana emergente) esto:
<add-default-resource>true</add-default-resource>
El portlet es instanciable y bannerPortletId es el porletId.
¿Alguna idea?
Gracias