Skip to main content

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.





Comments

  1. Hi,

    I am trying to embed a portlet into the theme, but nothing will show up.
    First I created via blade a portlet provider which already contains a portlet preconfigured as a AddPortletProvider. Then I changed it to a ViewPortletProvider.

    After that I tried to embed the portlet the way you mentioned above.

    But nothing will show up, no errors.


    Thx for every feedback, I appreciate that.

    ReplyDelete
  2. In addition, I did not use the instanceId property mentioned above.

    ReplyDelete
    Replies
    1. Please check whether you have given correct portlet name. And, instanceId have to be given only for instanceable portlet as I mentioned in the post.

      Delete
    2. Hi,

      this is what I have implemented

      <@liferay_portlet["runtime"]
      defaultPreferences="${freeMarkerPortletPreferences}"
      portletProviderAction=portletProviderAction.VIEW
      portletName="DisplayMessagesViewPortletProvider2"
      />

      The portlet component header is:

      "javax.portlet.name=" + DisplayMessagesViewPortletProviderPortletKeys.DisplayMessagesViewPortletProvider

      And behind "DisplayMessagesViewPortletPovider" = DisplayMessagesViewPortletProvider2


      If I changed the name of the porlet in the ftl. There is an error which cannot find the portlet with the name...



      Delete
    3. Thx for the hints.

      My portlet was instanceable, so I set it to false in the component header and then the content showed up.

      After you said instanceId, I checked my portlet again.

      Thx again.

      Delete

Post a Comment

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 ...