create_account.jsp
のフックがあります。 このjspには、iframeポップアップやLiferayのポップアップでポートレットを開こうとするjavascriptコードがあります。ポップアップで別のポートレットを開くPortletURL
質問があります:
ポートレットURLの指定方法は?
どうすればアクセスできますか?
そのポートレットでは、「はい」または「いいえ」で質問し、ユーザーの回答に基づいて、別のページにリダイレクトします。
create_account.jsp
のフックがあります。 このjspには、iframeポップアップやLiferayのポップアップでポートレットを開こうとするjavascriptコードがあります。ポップアップで別のポートレットを開くPortletURL
質問があります:
ポートレットURLの指定方法は?
どうすればアクセスできますか?
そのポートレットでは、「はい」または「いいえ」で質問し、ユーザーの回答に基づいて、別のページにリダイレクトします。
renderURLタグを使用できます。 JSPでフォームを作成し、MVCPortletクラスで必要なtreatemnetを作成します。
<portlet:renderURL var="myPopuURL"windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>">
<portlet:param name="mvcPath" value="/myJspWithYesOrNo.jsp" />
</portlet:renderURL>
<script>
my_function_to_open_popup_with_url('<%=myPopuURL%>');
</sricpt>
LiferayはAUIでポップアップを作成する方法を提供すること注: http://www.liferay.com/community/liferay-projects/alloy-ui/demo?title=community-liferay-projects-alloy-ui-demos-dialog
URLを作成するには、<portlet:renderURL>
または<liferay-portlet:renderURL>
<liferay-portlet:renderURL
var="testPopupURL"
portletName="testPopup_WAR_testPopupportlet"
windowState="<%=LiferayWindowState.POP_UP.toString() %>">
<liferay-portlet:param name="paramToPopup" value="customParameterToThePortlet" />
</liferay-portlet:renderURL>
portletName="testPopup_WAR_testPopupportlet"
を使用できますこれは、必要なポートレットのポートレットIDです 開く。
windowState="<%=LiferayWindowState.POP_UP.toString() %>"
これはちょうど、ポップアップでポートレットを表示することが重要である、またはそうでなければ、ナビゲーション、すべてを完全にLiferayのページを開くでしょう。
// this is one of creating function
function <portlet:namespace />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,
'<portlet:namespace />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']
);
:
あなたは上記のURLを使用するようにJSPで書くと内ポップアップやポートレットを開くことができますジャバスクリプト
<a href="javascript: <portlet:namespace />showPopup('<%=testPopupURL%>')">
Popup using Liferay open-window
</a>
<a href="javascript: <portlet:namespace />showAUIPopUP('<%=testPopupURL%>')">
Pop-up using Alloy UI dialog
</a>
ポップアップのiframe
の内側に表示されるいずれかのようliferay-portlet.xml
で<add-default-resource>true</add-default-resource>
を持っている必要がありポートレット:
<portlet>
<portlet-name>testPopup</portlet-name>
<icon>/icon.png</icon>
<instanceable>false</instanceable>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>testPopup-portlet</css-class-wrapper>
<!-- This property is necessary otherwise you would see a "Access denied for portlet" message when you try to open this portlet dynamically -->
<add-default-resource>true</add-default-resource>
</portlet>
それともとしてportal-ext.properties
でプロパティportlet.add.default.resource.check.whitelist
を持っている必要があります:あなたはから2つのポートレットをダウンロードし、this liferay forumの指示を参照することができ、アクションにこのコードをチェックアウトするに
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
。
これは生涯をよりよく理解するのに役立ちます。