Skip to main content

Creating PortletURL in Javascript

At times, we are supposed to create PortletURL in Javascript. We can do like this as follows.

<aui:script use="liferay-util-window,liferay-portlet-url">
var portletURL = Liferay.PortletURL.createRenderURL();
portletURL.setPortletId('<%=PortletKeys.SOME_PORTLET %>');
portletURL.setPlid(15932);
portletURL.setWindowState('<%=LiferayWindowState.POP_UP.toString() %>');
portletURL.setParameter('param1', param1);
portletURL.setParameter('param2', param2);
portletURL.setParameter('mvcPath', '/html/my_portlet/my_page.jsp');

// Now we can use the URL
console.log(portletURL.toString());
</aui:script>

Similarly you can also create other URL type as needed:
Liferay.PortletURL.createActionURL()
Liferay.PortletURL.createPermissionURL()
Liferay.PortletURL.createResourceURL()
Liferay.PortletURL.createURL()

Comments

Popular posts from this blog

Liferay 7 overriding MVC Commands

MVCActionCommand : An interface that allows the portlet to process a particular action request. By extending  BaseMVCActionCommand , we can customize processAction method. MVCRenderCommand : An interface that handles the render phase of the portlet. By   extending  BaseMVCRenderCommand , we can customize render method. MVCResourceCommand : An interface that allows the portlet to serve a resource. By  extending  BaseMVCResourceCommand , we can customize serveResource method. Now , we will see how to customize processAction method. Step 1: Initially, Create one module as mentioned in Liferay 7 document. Step 2: In controller class, write the component property depends on which modules you are customizing, for eg., if we customize create account page, write as following @Component( property = { "javax.portlet.name=com_liferay_login_web_portlet_FastLoginPortlet", "javax.portlet.name=com_liferay_l...

Migrating a Legacy Liferay DXP Theme to Client Extensions

Migrating a legacy WAR-based Liferay theme to modern Theme CSS and JavaScript Client Extensions is an important step toward a more modular, maintainable, and upgrade-friendly Liferay DXP architecture. Traditional themes package styling, JavaScript, templates, and static resources together in a deployable WAR. With client extensions, you can separate styling and JavaScript from the core portal runtime, simplify deployments, and reduce dependencies on traditional theme modules. This guide explains how to analyze a legacy theme, migrate its components to client extensions, reorganize project files, configure the required YAML files, and apply the new extensions to Liferay pages. 1. Understand the Traditional Theme Components Before starting the migration, identify the components used by your existing theme and determine their modern Liferay equivalents. Legacy theme component Recommended replacement portal_normal.ftl Master Pages, Page Templates, and supported page configuration options ...

Embed portlet in liferay 7 FTL theme

To include portlet in liferay 7 ftl theme , use the code as follows. <@liferay_portlet["runtime"] defaultPreferences="${freeMarkerPortletPreferences}" portletProviderAction=portletProviderAction.VIEW instanceId="blablabla1" portletName="com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet" /> where , instanceId="blablabla1" have to be given only for instanceable portlet, "com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet" is portletId.