Como detectar si estas en la home de tu theme Liferay

26-03-2015
 

Algo que se pide mucho es que los themes tengan una pinta distinta si la página es la home, por ejemplo, con una cabecera mas grande. Por ejemplo, el de este proyecto:

Header liferay theme

Header liferay theme

Esto es muy fácil de conseguir. Primero podemos detectar y poner en una variable booleana si estamos en la home(en el fichero ‘init_custom.vm’):

#set ($isHomePage = $layout.getPlid()==$themeDisplay.getScopeGroup().getDefaultPublicPlid() )

Luego podemos definir otra variable con una classe CSS que podemos incluir en el body:

#set ($homeClass = 'nohomepage' )

#if ( $isHomePage )
	#set ($homeClass = 'homepage' )
	#end

….

<body class="$css_class $homeClass">

O podemos directamente incluir un HTML u otro en función de esta variable:

#if ( $isHomePage )
	<div class='headerHome'>
		Mi header de la home
	</div>
#else
	<div class='header'>
		Mi header normal
	</div>
#end

Así de fácil, Liferay para [email protected] 😀

Leave a Reply

© Albert Coronado Calzada