我在网络内容中嵌入了这样的portlet:
runtime-portlet name="somePortletName" instance="54363734" queryString=""
它有自定义的jsp编辑页面,我想在弹出窗口中打开,因为没有足够的空间来嵌入这个小的portlet。我怎样才能做到这一点?
答案 0 :(得分:0)
我从Liferay找到了blog并通过我的门户网站(Liferay 6.2 CE GA4)进行测试。它有效:
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://alloy.liferay.com/tld/aui" prefix="aui" %>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<portlet:defineObjects />
<portlet:renderURL var="PopupURL" windowState="<%=LiferayWindowState.POP_UP.toString()%>">
<portlet:param name="jspPage" value="/edit.jsp"/>
</portlet:renderURL>
<aui:button name="test-popup" id="test-popup" value="popup"> </aui:button>
<aui:script>
AUI().use('aui-base','liferay-util-window','aui-io-plugin-deprecated',function(A){
A.one('#<portlet:namespace/>test-popup').on('click', function(event){
var test_popup= Liferay.Util.Window.getWindow(
{
dialog: {
centered: true,
constrain2view: true,
modal: true,
resizable: false,
width: 800
}
}).plug(A.Plugin.DialogIframe,
{
autoLoad: true,
iframeCssClass: 'dialog-iframe',
uri:'<%=PopupURL.toString()%>'
}).render();
test_popup.show();
test_popup.titleNode.html("Login");
});
});
</aui:script>
如果您的项目中有多个小孔,只需将参数“jspPage”的值从“/edit.jsp”更改为“/html/[portlet_name]/edit.jsp”或已知的URL路径。