Inicio de mvnForum Bienvenido Guest   | Iniciar sesión
  Búsqueda  
  Indice  | Temas Recientes  | Quién Está en Línea  | Lista de Usuarios  | Nuevo Usuario  | Búsqueda  | Ayuda  | RSS feeds


Ir a »
Estado del tema: Normal
Total de mensajes en este tema: 4
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 8377 veces y tiene 3 respuestas Tema Siguiente
Masculino ivanhoeg
Stranger



Ingresó: 02-sep-2013
Mensajes: 5
Estado: Desconectados

Menú navegación a partir de las carpetas del sitio Responder a este mensaje
Responder citando

Quiero crear un menú de navegación a modo de barra horizontal superior y con un megamenú desplegable. La idea es sacar los enlaces de navegación en función de la estructura de carpetas que tendré montada. Por ejemplo:

- Menu 1
- Menu 2
|---Submenu 2.1
|---Submenu 2.2
|---|---Submenu 2.2.1
....

La idea era hacerlo con los tags de opencms y no programarlo directamente en java. Hasta ahora lo estaba haciendo tal que así:

<%@page buffer="none" session="false" import="org.opencms.jsp.*" taglibs="c,cms,fn" %>
<cms:navigation type="treeForFolder" var="nav" startLevel="2" endLevel="5"/>
<ul class="nav navbar-nav">
<c:forEach items="${nav.items}" var="elem">
<li><a href="<cms:link>${elem.resourceName}</cms:link>" class="${clase}">${elem.navText}</a></li>
</c:forEach>
</ul>


El problema con treeForFolder es que solo soy capaz de mostrar hasta el nivel de navegación en el que me encuentre en ese momento. Es decir, si estoy en el Submenu 2.1, me saldrán menu 1, menu 2, submenu 2.1 y submenu 2.2 pero no el submenu 2.2.1 (que solo aparecerá cuando me encuentre navegando a ese nivel).

Con ForFolder tampoco es mucho mas esperanzador, pues muestra solo el nivel de navegación actual, ni superiores ni inferiores.

Supongo que no quedará más remedio que programarlo a pelo o hacer el menu directamente en vez de hacerlo en función de la estructura, pues va a ser fijo y en el fondo me da igual...

Gracias, saludos!
[06-sep-2013 14:08:37] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino sergio
Administrador
Avatar del Miembro

España
Ingresó: 27-sep-2006
Mensajes: 2470
Estado: Desconectados
Re: Menú navegación a partir de las carpetas del sitio Responder a este mensaje
Responder citando

Creo que había otro tipo de navegación que es "site" que te lo lee todo el arbol de navegación directamente, puedes probar ese, creo que te va a funcionar.
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[09-sep-2013 10:13:22] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino ivanhoeg
Stranger



Ingresó: 02-sep-2013
Mensajes: 5
Estado: Desconectados

Re: Menú navegación a partir de las carpetas del sitio Responder a este mensaje
Responder citando

Hola Sergio, gracias por tu respuesta. Efectivamente he estado realizando pruebas con forSite.

El problema que me ha surgido es que debo establecer el parámetro resource con el path que quiero establecer como base. Mi página web la tengo dividida en carpetas segun el idioma (/es/ , /en/, /ca/, ...) dentro de las cuales está todo el contenido en forma de siblings. La idea es ponerle como path base una u otra en función de cual de ellas esté navegando.

Esto sería más fácil si el parámetro startLevel funcionara para forSite, que no entiendo por qué no lo hace. Ya que simplemente tendría que poner la carpeta raíz de mi web e indicarle un startLevel=2. Pero como he dicho hace caso omiso de este parámetro si el tipo es forSite.
[09-sep-2013 16:21:41] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino ivanhoeg
Stranger



Ingresó: 02-sep-2013
Mensajes: 5
Estado: Desconectados

Re: Menú navegación a partir de las carpetas del sitio Responder a este mensaje
Responder citando

Bueno, dejo aquí la solución a la que he llegado:

<%@page buffer="none" session="false" import="org.opencms.jsp.*, java.io.IOException" taglibs="c,cms,fn" %>
<c:set var="path"><cms:info property="opencms.request.folder"/></c:set>
<cms:navigation type="forSite" resource="${path}" var="nav"/>
<ul class="nav navbar-nav">
<c:forEach items="${nav.items}" var="elem">
<li><a href="<cms:link>${elem.resourceName}</cms:link>" class="${clase}">${elem.navText}</a></li>
</c:forEach>
</ul>


Era bastante sencillo, pero no tengo mucha experiencia con el manejo de JSTL y voy cogiendo maña poco a poco jeje.

Saludos.
[10-sep-2013 12:37:49] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]