// 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; }
drupal5
/** * Display the nodes of a view as a table. */ function phptemplate_views_view_table($view, $nodes, $type) { $fields = _views_get_fields(); foreach ($nodes as $node) { $row = array(); foreach ($view->field as $field) { if ($fields[$field['id']]['visible'] !== FALSE) { $cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view); $cell['class'] = "view-field ". views_css_safe('view-field-'. $field['queryname']); $row[] = $cell; } } $rows[] = $row; } return theme('table', $view->table_header, $rows, array('summary' => 'Views tables')); }
views
/** * Display the nodes of a view as a table. */ function phptemplate_views_view_table($view, $nodes, $type) { $fields = _views_get_fields(); foreach ($nodes as $node) { $row = array(); foreach ($view->field as $field) { if ($fields[$field['id']]['visible'] !== FALSE) { $cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view); $cell['class'] = "view-field ". views_css_safe('view-field-'. $field['queryname']); $row[] = $cell; } } $rows[] = $row; } return theme('table', $view->table_header, $rows, array('summary' => 'Views tables')); }
accesibilidad
// Los enlaces en un tpl.php, template... deben ser de la siguiente forma para que no // de error de validación // en el siguiente ejemplo son con variables: // Link : /link/$link_ultima_parte // titulo: titulo_$proyecto <?php print '/ultimos_codigos/ltligtlta_hrefquot/link/index.html'. $link_ultima_parte .'"> titulo_'. $proyecto .'</a></li>';?> //otra accesibilidad..crear href con target <a href="http://link../" onclick="target='_blank';"><img src="/sites/foto.jpg" alt="foto"/></a>
accesibilidad
// 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; } } }
breadcrumb
// Ejemplo de un campo tipo lista text, donde si eres el admin del sitio o // perteneces al rol 4 las opciones son Sí y No. // El siguiente código meterlo en Php code (campo debado de Allowed values list) global $user; if ($user->uid == 1 or $user->roles[4] ){ $row[1] = 'Sí'; $row[2] = 'No'; return $row; }
cck
// Ejemplo de un campo tipo lista text, donde si eres el admin del sitio o // perteneces al rol 4 las opciones son Sí y No. // El siguiente código meterlo en Php code (campo debado de Allowed values list) global $user; if ($user->uid == 1 or $user->roles[4] ){ $row[1] = 'Sí'; $row[2] = 'No'; return $row; }
campos
// Ejemplo de un campo tipo lista text, donde si eres el admin del sitio o // perteneces al rol 4 las opciones son Sí y No. // El siguiente código meterlo en Php code (campo debado de Allowed values list) global $user; if ($user->uid == 1 or $user->roles[4] ){ $row[1] = 'Sí'; $row[2] = 'No'; return $row; }
php code
//En el template.php function phptemplate_upload_attachments($files) { $attributes['summary'] = 'Attachment_table'; $attributes['id'] = 'attachments'; $header = array(t('Attachment'), t('Size')); $rows = array(); foreach ($files as $file) { $file = (object)$file; if ($file->list && !$file->remove) { // Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid) $href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path()))); $text = $file->description ? $file->description : $file->filename; $rows[] = array(l($text, $href), format_size($file->filesize)); } } if (count($rows)) { return theme('table', $header, $rows, $attributes); } }
adjuntos
//En el template.php function phptemplate_upload_attachments($files) { $attributes['summary'] = 'Attachment_table'; $attributes['id'] = 'attachments'; $header = array(t('Attachment'), t('Size')); $rows = array(); foreach ($files as $file) { $file = (object)$file; if ($file->list && !$file->remove) { // Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid) $href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path()))); $text = $file->description ? $file->description : $file->filename; $rows[] = array(l($text, $href), format_size($file->filesize)); } } if (count($rows)) { return theme('table', $header, $rows, $attributes); } }
accesibilidad
// En template.php // Para el campo,Nodo: nombre de autor function phptemplate_username($object) { if ($object->uid && $object->name) { if (drupal_strlen($object->name) > 20) { $name = drupal_substr($object->name, 0, 15) .'...'; } else { $name = $object->name; } if (user_access('access user profiles')) { // línea dónde se ha efectuado el cambio, se ha cambiado por 'user/'. $object->uid: $output = l($name, 'usuario/'. $object->name, array('title' => t('View user profile.'))); } else { $output = check_plain($name); } } else if ($object->name) { if ($object->homepage) { $output = l($object->name, $object->homepage); } else { $output = check_plain($object->name); } $output .= ' ('. t('not verified') .')'; } else { $output = variable_get('anonymous', t('Anonymous')); } return $output; } // Para el campo: Node: Author picture function phptemplate_user_picture($account) { if (variable_get('user_pictures', 0)) { if ($account->picture && file_exists($account->picture)) { $picture = file_create_url($account->picture); } else if (variable_get('user_picture_default', '')) { $picture = variable_get('user_picture_default', ''); } if (isset($picture)) { $alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous')))); $picture = theme('image', $picture, $alt, $alt, '', FALSE); if (!empty($account->uid) && user_access('access user profiles')) { //la línea de cambio: $picture = l($picture, "usuario/$account->name", array('title' => t('View user profile.')), NULL, NULL, FALSE, TRUE); } return "<div class=\"picture\">$picture</div>"; } } }
views
// En template.php // Para el campo,Nodo: nombre de autor function phptemplate_username($object) { if ($object->uid && $object->name) { if (drupal_strlen($object->name) > 20) { $name = drupal_substr($object->name, 0, 15) .'...'; } else { $name = $object->name; } if (user_access('access user profiles')) { // línea dónde se ha efectuado el cambio, se ha cambiado por 'user/'. $object->uid: $output = l($name, 'usuario/'. $object->name, array('title' => t('View user profile.'))); } else { $output = check_plain($name); } } else if ($object->name) { if ($object->homepage) { $output = l($object->name, $object->homepage); } else { $output = check_plain($object->name); } $output .= ' ('. t('not verified') .')'; } else { $output = variable_get('anonymous', t('Anonymous')); } return $output; } // Para el campo: Node: Author picture function phptemplate_user_picture($account) { if (variable_get('user_pictures', 0)) { if ($account->picture && file_exists($account->picture)) { $picture = file_create_url($account->picture); } else if (variable_get('user_picture_default', '')) { $picture = variable_get('user_picture_default', ''); } if (isset($picture)) { $alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous')))); $picture = theme('image', $picture, $alt, $alt, '', FALSE); if (!empty($account->uid) && user_access('access user profiles')) { //la línea de cambio: $picture = l($picture, "usuario/$account->name", array('title' => t('View user profile.')), NULL, NULL, FALSE, TRUE); } return "<div class=\"picture\">$picture</div>"; } } }
link
Todavía estamos montando esta cocina con Drupal, así que probablemente más de un detalle esté sin acabar en esta web
Buscar
Book navigation
Tags de ARTÍCULOS
Inicio de sesión
Navegación
Comentarios recientes
-
Muy buen post, ayudame con
-
una busqueda por fecha
-
Error en los links
-
Necesito hacer que un campo
-
No me funciona
más
Nuevos
- fernando
- dsevila
- zialdoka
- ek10
- juanramonperez