Migas de pan (Breadcrumb) con Typo3

Supongamos que tenemos nuestro sitio con varias páginas que forman un menú y dentro de dichas páginas hay más páginas (sub-páginas) y así por muchos niveles. Resulta que cuanto navegamos en muchos sitios hay eso que se llama “migas de pan” o “breadcrumb” por su nombre en Inglés y que básicamente es una ruta desde la página raíz hasta la página en la que estamos en determinado momento.

Pues bien, utilizando TypoScript podemos hacer esto fácilmente en Typo3 y a continuación el código para hacerlo.

lib.breadcrumb=COA
  1. lib.breadcrumb {
  2.  10 = HMENU
  3.  10 {
  4.   special = rootline
  5.   special.range = 0
  6.   includeNotInMenu = 1
  7.    1 = TMENU
  8.    1 {
  9.       noBlur = 1
  10.       wrap = |
  11.       NO.linkWrap = | / |*||*| |
  12.       NO.stdWrap.field = title
  13.       NO.ATagTitle.field = title
  14.       CUR = 1
  15.       CUR.allWrap = <span id="colored">|</span>
  16.      CUR.doNotLinkIt = 1
  17.    }
  18.   }
  19. }

Si por ejemplo ponemos esto en la sección “Setup” de la plantilla principal, la que tengamos por raíz, estas migas de pan se podrán utilizar automáticamente y desde cualquier página que esté dentro del árbol.

Lo ideal sería tener un contenedor <div></div> con un “id” único al que le podamos insertar el contenido generado por este script, que lo que hace es básicamente un menú con las páginas que le indicamos y únicamente hasta donde le hemos indicado. Esto es muy fácil si se utiliza el plug-in “automaketemplate”, por ejemplo:

temp.mainTemplate = TEMPLATE
  1. temp.mainTemplate {
  2. template =< plugin.tx_automaketemplate_pi1
  3. workOnSubpart = PLANTILLA_BODY
  4.   subparts.breadcrumb < lib.breadcrumb
  5. }

Con esto hemos asignado las “migas de pan” a un contenedor con id=breadcrumb (<div id=”bredcrumb”> &nbsp; </div>) Hay que notar que con este segmento de TypoScript le he indicado a Typo3 que quiero que trabaje sobre una “sub-parte” del contenido etiquetado con PLANTILLA_BODY, esto es lo primero que se debe hacer para que poder “trabajar” y asignar contenidos a contenedores dentro de la plantilla.

Con esto marcamos en donde queremos trabajar:

plugin.tx_automaketemplate_pi1 {
  1.   content = FILE
  2.   content.file = fileadmin/plantilla/index.html
  3.  
  4.   elements {
  5.     BODY.all = 1
  6.     BODY.all.subpartMarker = PLANTILLA_BODY
  7.   }
  8. }

Como se puede ver aquí le indico que al cuerpo de mi plantilla lo identifique con PLANTILLA_BODY y de este modo se puede “trabajar” sobre dicha zona con el resto del TypoScript.

Leave a Reply