Añadir portlet Mapa Web con Freemarker en Liferay 7

por

Liferay LogoCuando queremos que en nuestra cabecera o pie de página siempre nos aparezca un portlet determinado debemos de incluirlo a través de del código freemarker correspondiente. Por tanto, hoy os voy a enseñar como añadir un portlet de Mapa web y ,en posteriores post, os iré enseñando los principales portlets que podemos añadir y para que sirve cada linea de código.

Vamos a ver poco a poco como es el código y que hace:

	
	<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") />	

Esta línea establece el decorator que queremos que traiga por defecto el portlet.

	
	<#assign theme_groupID = htmlUtil.escape(theme_display.getCompanyGroupId()?string) />
	<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", '${group_id}') />	

En esta línea establecemos el GroupID al que pertenece el portlet.

		
	<#assign VOID = freeMarkerPortletPreferences.setValue("displayDepth", "3") />	

Este es el primero de los parámetros personalizables exclusivos de este portlet. En este caso le estamos indicando que la profundidad a la que debe llegar la navegación del mapa web es 3.

		
	<#assign VOID = freeMarkerPortletPreferences.setValue("rootLayoutUuid", "e262f294-d318-b163-0c89-da45e0ba9357") />	

En este caso le estamos indicando el segundo de los parámetros personalizables exclusivos de este portlet. Ese código correspondería a la página raíz de la que debe partir el mapa web pero...¿Como sabemos cual es el value de nuestra pagina raíz?. para ellos debemos fijarnos en la siguiente imagen obtenida tras pulsar sobre la opción de configuración de un portlet Mapa Web cualquiera.

Ejemplo portlet Mapa Web

Los valores se sacan de la configuración del portlet, en las options del select podemos observar los values de cada página.

Por último, inicializamos el portlet con las preferencias que habíamos seleccionado anteriormente junto con la elección del portlet y su instancia.

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

Antes de terminar, que no se nos olvide resetear las preferencias:

			
	${freeMarkerPortletPreferences.reset()}

Os dejo aquí el código completo listo para incluirse:

	
	<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") />	
	<#assign theme_groupID = htmlUtil.escape(theme_display.getCompanyGroupId()?string) />
	<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", '${group_id}') />	
	<#assign VOID = freeMarkerPortletPreferences.setValue("displayDepth", "3") />	
	<#assign VOID = freeMarkerPortletPreferences.setValue("rootLayoutUuid", "e262f294-d318-b163-0c89-da45e0ba9357") />	

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

	${freeMarkerPortletPreferences.reset()}

Todo este código debe incluir en el archivo portal-normal.ftl de nuestro theme para que, cada vez que creemos una página nueva ya esté añadido nuestro portlet y preconfigurado facilitando asi el mantenimiento del portal.

COMENTARIOS

DEJA TU COMENTARIO