Liferay.PortletURL未定义

时间:2014-12-20 13:14:14

标签: liferay liferay-6 liferay-aui

想要实施: 我有两个页面,每个页面都有一个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的其他方法是什么。

1 个答案:

答案 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> 

这解决了我的问题。 我不确定这是否是问题的完美解决方案。 专家请告诉我们。