>要创建URL,您可以使用< portlet:renderURL>或者< liferay-portlet:renderURL>
var="testPopupURL"
portletName="testPopup_WAR_testPopupportlet"
windowState="">
portletName =“testPopup_WAR_testPopupportlet”这是您要打开的portlet的portletId.
windowState =“”这对于在弹出窗口中显示portlet非常重要,否则它将打开带有导航和所有内容的完整liferay页面.
>您可以在JSP中编写以使用上述URL并在其中打开弹出窗口和portlet的javascript:
// this is one of creating function
function showPopup(url) {
var url = url;
// this is one way of calling a pop-up in liferay
// this way is specific to liferay
Liferay.Util.openWindow(
{
dialog: {
cache: false,width:800,modal: true
},id: 'testPopupIdUnique',uri: url
}
);
}
// this is another way of creating a function in liferay
Liferay.provide(
window,'showAUIPopUP',function(url) {
var A = AUI();
// this is another way of calling a iframe pop-up
// this way is not specific to liferay
popupDialog = new A.Dialog(
{
id: 'testPopupIdUnique',centered: true,draggable: true,resizable: true,width: 800,stack: true
}
).plug(
A.Plugin.DialogIframe,{
uri: url,iframeCssClass: 'ogilvy-dialog-iframe'
}
);
popupDialog.render();
},['aui-dialog','aui-dialog-iframe']
);
>您可以简单地将这些javascript函数称为:
Popup using Liferay open-window
Pop-up using Alloy UI dialog
>将在弹出窗口的iframe内显示的portlet应该具有< add-default-resource> true< / add-default-resource>在liferay-portlet.xml中:
testPopup
/icon.png
false
/css/main.css
/js/main.js
testPopup-portlet
true
>或者应该将portal-ext.properties中的属性portlet.add.default.resource.check.whitelist作为:
portlet.add.default.resource.check.whitelist=3,56_INSTANCE_0000,58,82,86,87,88,103,113,145,164,166,170,177,testPopup_WAR_testPopupportlet
要查看此代码的实际操作,您可以从中下载2个portlet并参考this liferay forum中的说明.
希望这有助于更好地理解liferay.