[Typo3-UG Spain] Truco, ejemplo de menus

Sergio Sánchez sergio at corecanarias.com
Wed Mar 24 15:07:43 CET 2004


Hola,

	Por si le es de utilidad a alguien, ya que me he pegado un rato para 
hacerlo, pues que se aproveche.

	Consistía en hacer un menú que mostrase las páginas hijas de la actual, 
y en caso de que no hubiese las hermanas (las que están a su mismo 
nivel). Esto está muy bien descrito en el 
http://typo3.org/1422+M594d6f91bf2.0.html
Pero además quería que en caso de que mostrase las páginas hija, también 
mostrase el predecesor, para no romper el hilo de navegación (como 
mostraba las hijas no podía volver atrás), pero que sólo lo haga cuando 
estamos más allá del 3er nivel del árbol (esto es una pijada para mi 
página, en otras a lo mejor sobra). El código es este:

# Creamos el menú de hijos
temp.childMenu = HMENU
temp.childMenu {
   entryLevel = -1
   1 = TMENU
   1 {
     wrap = <div class="menu"><ul>|</ul></div>
     NO.allWrap = <li>|</li>
   }
}

# El menú de hermanos será igual variando únicamente el entryLevel
temp.siblingMenu < temp.childMenu
temp.siblingMenu {
   entryLevel = -2
}

# Si estamos en una página anterior al 3er nivel no ponemos nada
[treeLevel = 0, 1, 2]
[else]
# El menú donde mostrar el botón de la página previa
temp.prev = HMENU
temp.prev {
   # Sólo lo generamos si hay menú de páginas hijas
   if.isTrue.cObject < temp.childMenu
   special = browse
   special.items = up
   1 = TMENU
   1 {
     wrap = <div class="menu"><ul>|</ul></div>
     NO.allWrap = <li>|</li>
     NO.stdWrap.field = subtitle // title
   }
}
[end]

# Por defecto copiamos el menú de páginas hermanas...
temp.conditionMenu < temp.siblingMenu
# ... y usamos "override" para mostrar las páginas hijas si existen
temp.conditionMenu.stdWrap.override.cObject < temp.childMenu

# lo metemos en una matriz de objetos
temp.finalMenu = COA
temp.finalMenu {
   10 < temp.prev
   20 < temp.conditionMenu
}
# y lo mostramos
page.10.subparts.side < temp.finalMenu

-- 
Sergio Sánchez Ramírez -- CORE be digital S.L.
www.corebedigital.com




More information about the TYPO3-UG-spain mailing list