想要实施: 我有两个页面,每个页面都有一个portlet。点击链接我想从第一页portlet移动到另一个页面portlet。 为此我写了:
<aui:script>
function openCompanyPage(companyId) {
AUI().use(
'liferay-portlet-url',
'aui-resize-iframe',
function(A) {
var navigationURL;
var portletURL = Liferay.PortletURL.createRenderURL();
var url = themeDisplay.getLayoutURL();
portletURL.setParameter("employerId", companyId);
portletURL.setPortletId(A.one('#custSupportPortletId'));
navigationURL = portletURL.toString();
window.location = navigationURL;
}
);
</aui:script>
但由于Liferay.PortletURL在粗线上未定义,因此出现错误。 我已经提供了:
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet"%>
<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util"%>
请告诉我可能的原因。
OR 创建Render portlet URL的其他方法是什么。
答案 0 :(得分:1)
<强>更新强> 我蛮力解决了这个问题。
<强>之前:强>
<a href="" onclick="openCDPPage('${individual.individualId}')">${individual.individualName}
之后:
<a onclick="openCDPPage('${individual.individualId}')">${individual.individualName}</a>
脚本中的更改:
<script>
function openCompanyPage(companyId) {
AUI().use(**'liferay-portlet-url'**,
function(A) {
var navigationURL;
var portletURL = Liferay.PortletURL.createRenderURL();
var url = themeDisplay.getLayoutURL();
portletURL.setParameter("employerId", companyId);
portletURL.setPortletId(A.one('#custSupportPortletId'));
navigationURL = portletURL.toString();
window.location = navigationURL;
}
);
</script>
这解决了我的问题。 我不确定这是否是问题的完美解决方案。 专家请告诉我们。