Personalizar las "migas de pan" en Drupal

Introducción.

Las “migas de pan” o breadcrumbs es aquella sección de los sitios web que lleva un registro jerárquico de los niveles del sitio que se han visitado permiténdonos regresar a través de ellos de manera asíncrona.  Un ejemplo de breadcrumbs podría ser este.

Inicio > Software > Web.

Esto significaría que se está en la sección Web que depende del Software y que pende del inicio del sitio.

Breadcrumbs en Drupal.

Drupal provee automáticamente esta facilidad, él mismo va generando las “migas de pan” y las ubica donde se inserte la siguiente etiqueta, comúnmente en page.tpl.php.

<?php print $breadcrumb ?>

Por defecto Drupal se hace cargo de generar el contenido HTML asociado a las “migas de pan” con un estilo por defecto.  En algunas ocasiones este estilo no se adecúa a las necesidades propias.

Personalizar las breadcrumbs en Drupal.

Para hacer esto es necesario crear o editar el archivo template.php ubicado en el tema activo y agregar o modificar la definición de la función phptemplate_breadcrumb($breadcrumb) donde $breadcrumb es un arreglo y cada una de sus celdas corresponde con un segmento de las “migas de pan”.

/**
 * Return a themed breadcrumb trail.
 *
 * @param $breadcrumb - An array containing the breadcrumb links.
 * @return a string containing the breadcrumb output.
 */
function phptemplate_breadcrumb($breadcrumb)
{
    if (empty($breadcrumb))
        return "";

    $str = "<ul>";

    $length = count($breadcrumb);

    for($i=0; $i<$length; $i++)
    {
        $bc = $breadcrumb[$i];
        $class = ($i < $length - 1) ? "" : "class='ruta_final'";

        $str .= "<li {$class}>{$bc}</li>";
    }

    $str .= "</ul>";

    return $str;
 }

El ejemplo anterior crea las “migas de pan” como un UL donde cada LI corresponde con una sección visitada y cuya última sección tiene además una clase CSS llamada ruta_final.

Leave a Reply

Your email address will not be published. Required fields are marked *