[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