Imagen de bea

Completar los breadcrumb teniendo en cuenta la url (forma 2, mediante la variable $breadcrumb en el template)

Tags: 
drupal5
Descripción: 

En la receta "Completar los breadcrumb teniendo en cuenta la url" explicamos como cambiar los breadrcumb introduciendo un poco de código en un modulo nuevo..

Esta receta es algo parecido, pero lo que hacemos es cambiar el valor de la variable $breadcrumb en el template.php, sin necesidad de crear modulos nuevos ni na.

codigo_code: 
// en el template.php
function _phptemplate_variables($hook, $vars = array()){
  switch ($hook) {
    case 'page':             
        $url = drupal_get_path_alias($_GET['q']);  // obtenemos la url dnd estamos
        $uri = explode("/", $url);
        if(count($uri)>=1){   // si la url esta formada por partres.. eje: /acciones/ejemplos/proyectos
          if ($uri[0] == 'acciones' or $uri[0] == 'comunicacion' or $uri[0] == 'modulos' ){   //una funcion de ejemplo que le decimos que solo entre si la url empieza por acciones, comunicacion, modulos, sino empiea así se saltará to esto y no creara ni modificara los breadcrumb.
            $enlace =  l('Principal', '');  // la 1º parte del breadcrumb
            for($i=0;$i<count($uri)-1;$i++){  // se va recorriendo para ir construyendo el breadcrumb
              if($i>0) {
                $ant = $uri[$i-1]."/".$uri[$i];
               } else{ 
                 $ant = $uri[$i];
               }
               if ($uri[$i] == 'modulos'){  //es una excepción.. si keremos k el titulo de esa parte del breadcrumb por ejemplo keremos k sea otra palabra k la de la url..asi en eeste ejemplo podemos cambiar "modulos" por "Modulos nuevos"
                 $enlace .= ' :: '.l('Módulos nuevos', $ant);i
              }
 
               else{  //sino el nombre es igual k el de la url
                 $enlace .= ' :: '.l(ucfirst(ereg_replace("_", " ", $uri[$i])), $ant);
              }
             }
           $vars['breadcrumb'] = '<div class="breadcrumb">'.$enlace.'</div>'; //guardo el valor en la variable de breadcrumb..
          }
        }
 
      break;
 
    }
    return $vars;
  }

Comentarios

jcdenton

¡Dios santo, que desactualizado tenéis el blog!
Una lástima, me encanta este sitio :-D me ha sido muy útil.

Comentarios

Sería genial que en futuros ejemplos cortara los comentarios para que las lineas no ocupen mas de 80 caracteres.
Así no tendría que usar la barra de scroll inferior del ejemplo.

Un saludo,
jcdenton
// otro lector habitual de cocinandocondrupal :-)

Todavía estamos montando esta cocina con Drupal, así que probablemente más de un detalle esté sin acabar en esta web

Inicio de sesión

Navegación

Comentarios recientes

Nuevos

  • fernando
  • dsevila
  • zialdoka
  • ek10
  • juanramonperez