Mostrar un segundo nivel de hijos a trvés del tema de apariencia en Liferay 6.x

por

Los Temas de apariencia de Liferay vienen preparados, por defecto, para que el menú principal(navigation.vm) sólo muestre un nivel de hijos. Pero ¿qué pasa si queremos sacar un segundo nivel?.

Para hacer esto tenemos que modificar el código del archivo "_diffs/templates/navigation.vm" que se encuentra dentro del tema de apariencia.

Para ello debemos usar el siguiente código:


<nav class="sort-pages modify-pages" id="navigation">
	<h1>
		<span>#language("navigation")</span>
	</h1>

	<ul>
		#foreach ($nav_item in $nav_items)
			#if ($nav_item.isSelected())
				<li class="selected">
			#else
				<li>
			#end

			<a href="" $nav_item.getTarget()><span>$nav_item.icon() $htmlUtil.escape($nav_item.getName())</span></a>

			#if ($nav_item.hasChildren())
				<ul class="child-menu">
				
				#foreach ($nav_child in $nav_item.getChildren())
					#if ($nav_child.isSelected())
						<li class="selected">
					#else
						<li>
					#end

					<a href="$nav_child.getURL()" $nav_child.getTarget()>$nav_child.getName()</a>
					
					#if ($nav_child.hasChildren())
						
						<ul class="grandchild-menu">
						
						#foreach ($nav_grandchild in $nav_child.getChildren())
							#if ($nav_grandchild.isSelected())
								<li class="selected">
							#else
								<li>
							#end
							
							<a href="$nav_grandchild.getURL()" $nav_grandchild.getTarget()>$nav_grandchild.getName()</a>
						#end
						
					#end
					
					</li>
				#end
				
				</ul>
			#end
			
			</li>
		#end
	</ul>
</nav> 

Aunque no es muy recomendado mostrar más del primer nivel de hijos, a veces, se presenta esta necesidad pero allá del segundo nivel de hijos no deberíamos mostrarlo ya que afectaría seriamente a la usabilidad y navegabilidad del sitio web.

Si se nos presentase la necesidad de mostrar más subniveles de hijos una opción muy recomendable sería, por ejemplo, añadir un portlet de navegación en la columna izquierda donde mostrásemos los diferentes subniveles, y ahí, si se podría mostrar tantos subniveles como quisiéramos.

COMENTARIOS

DEJA TU COMENTARIO