Portlet de sistema

En varias ocasiones tuve el requerimiento de no mostrar algunos portlets en la lista de portlets disponibles para ser agregados a una página, y este ocultamiento no se podia hacer mediante permisos porque el usuario tenia que usar el portlet y no debia tirar el error de que el portlet no estaba disponibles.  Entonces me di cuenta de que algunos portlets del core de Liferay no estaban disponibles para ser agregados a una página, por ejemplo el portlet de Look and Feel, el My Account o el del Page Setting.  Para esto hay que declarar al portlet como portlet de sistema en liferay-portlet.xml.

liferay-portlet.xml

<portlet>
<portlet-name>MIPORTLET</portlet-name>

<system>true</system>
</portlet>

Desde otro portlet vamos a llamar a MIPORTLET

<%

PortletURL miPortletURL = new PortletURLImpl(
request, “MIPORTLET”, plid, PortletRequest.ACTION_PHASE);
miPortletURL.setWindowState(WindowState.MAXIMIZED);
miPortletURL.setPortletMode(PortletMode.VIEW);
miPortletURL.setParameter(“struts_action”, “/miportlet/view”);

%>

<a href=”<%= miPortletURL %>”>IR A MI PORTLET</a>

Tags: , ,

Leave a Reply

You must be logged in to post a comment.