breadcrumb

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

// 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;
  }

Completar los breadcrumb teniendo en cuenta la url

// drupal6
// En un modulo:
function nombre_modulo_nodeapi(&$node, $op, $teaser, $page) {
  if ($node->type == 'page'){  // si solo se lo vamos a cambiar por eje a las paginas
    switch ($op) {
      case 'view':
        $url = drupal_get_path_alias($_GET['q']);  // cogemos la url
        $uri = explode("/", $url);   // la separamos por las barras
        if(count($uri)>=1){  // si la url tiene mas de 1 apartao..
          // si x ejem solo nos interesa cnd la url empieza x ejemplos o proyectos
           if ($uri[0] == 'ejemplos' or $uri[0] == 'proyectos'){ 
             $enlace[] =  l('Home', '');  //la 1º parte del enlace
             for($i=0;$i<count($uri)-1;$i++){
              if($i>0) {
                $ant = $uri[$i-1]."/".$uri[$i];
               } else{
                 $ant = $uri[$i];
               }
               // si por ejemplo cuando empiece por ejemplos, queremos q el breadcurm marque: "Tipos de ejemplos" y con la url ("tipos_de_ejemplos"):
               if ($uri[$i] == 'ejemplos'){
                 $enlace[] = l('Tipos de ejemplos', "tipos_de_ejemplos");
               }
               // sino.. que ponga el nombre de la parte de la url y el enlace tb
               else{ 
                 $enlace[] = l(ucfirst(ereg_replace("_", " ", $uri[$i])), $ant);
               }
             }
             // guardamos el breadcrumb
             drupal_set_breadcrumb($enlace);
          }
      }
       break;
    }
  }
}

Distribuir contenido
Diseño y desarrollo INVESTIC con DRUPAL