JavaScript Liferay.PortletURL

Liferay Portal has a JavaScript library that allows the creation of portletURLs inside your JavaScript code. Something like:

<input type="button" value="<liferay-ui:message key="cancel" />" 
onclick="<portlet:namespace/>_back();"/>
 
<script type="text/javascript">
 
      function <portlet:namespace/>_back() {
 
            var backURL = Liferay.PortletURL.createRenderURL();
            backURL.setPortletId("");
            backURL.setParameter("networkId", ${networkId});
            backURL.setPortletMode("view");
 
            location.href = backURL;
      }
 
</script>

All the available methods are (as in Liferay 5.2.3):

  • setCopyCurrentRenderParameters: function(copyCurrentRenderParameters);
  • setDoAsUserId: function(doAsUserId);
  • setEncrypt: function(encrypt);
  • setEscapeXML: function(escapeXML);
  • setLifecycle: function(lifecycle);
  • setName: function(name);
  • setParameter: function(key, value);
  • setPlid: function(plid);
  • setPortletConfiguration: function(portletConfiguration);
  • setPortletId: function(portletId);
  • setPortletMode: function(portletMode);
  • setResourceId: function(resourceId);
  • setSecure: function(secure);
  • setWindowState: function(windowState);
  • toString: function();

And you can create any portlet URL:

  • var actionURL = Liferay.PortletURL.createActionURL(); // (‘ACTION_PHASE’);
  • var renderURL = Liferay.PortletURL.createRenderURL(); // (‘RENDER_PHASE’);
  • var resourceURL = Liferay.PortletURL.createResourceURL(); // (‘RESOURCE_PHASE’);
  • var permissionURL = Liferay.PortletURL.createPermissionURL(portletResource, modelResource, modelResourceDescription, resourcePrimKey);

Have a look at the library in

liferay-portal-src-5.2.3/portal-web/docroot/html/js/liferay/portlet_url.js

Popularity: 39% [?]

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
You can leave a response, or trackback from your own site.

Leave a Reply