Mostrar las variables disponibles para nuestro theme en Drupal 7.x

Cuando estamos trabajando al nivel del theme layer (temas), por ejemplo en nuestro node.tpl.php, a veces nos preguntamos cuales son las variables que tenemos a disposición, es decir cuales son las variables que son enviadas a nuestro archivo .tpl.php

En este post veremos que los archivos .tpl.php de nuestra instalación Drupal están en realidad muy bien documentados pero veremos también otra manera más sencilla y dinámica utilizando la función get_defined_vars().

Tags:

Toda América Latina celebra el mayor encuentro Drupal del año 2012!

 

Por fin podemos anunciar oficialmente el lanzamiento del mayor evento Drupal del año 2012: "Drupal Summit Latino – Guadalajara 2012".
 

Theming: mover los enlaces Addthis arriba del nodo en Drupal 6.x

El módulo Addthis de Drupal permite a los usuarios compartir el contenido de nuestro sitio en varias redes sociales. Por defecto el modulo crea enlaces que se encuentran al final de nuestro nodo.

¿Pero como podríamos hacer para mover estos enlaces arriba del nodo?

Tags:

Cambiar el título de un campo de un formulario Location en Drupal 6.x

Esta semana, unos de mis clientes me pedía cambiar el título de un campo localización en el formulario de edición de un nodo en su sitio Drupal. En particular, quería cambiar los títulos ‘Street’ y ‘Additional’ por ‘Dirección 1’ y ‘Dirección 2’ respectivamente.

Ya saben que los módulos Location y Gmap de Drupal nos permiten (geo) localizar nodos con mapas de Google Maps.

Vamos entonces, en un módulo propio, utilizar el hook_form_alter() pero de dos maneras distintas según hemos implementado los sub módulos Location CCK o Node Location.

En los dos casos utilizaremos la función #after_build que nos permite llamar a una función propia una vez que nuestro formulario ha sido construido pero antes que sea “renderizado” (rendered). Es con esta función que vamos a poder cambiar los títulos de nuestros campos.

Node Locations

<?php
/**
   * Implementation of hook_form_alter().
   *
   * The function is named modulename_form_alter.
   */
function MYMODULE_form_alter(&$form, &$form_state, $form_id){
  switch (
$form_id){
    case
'MYNODE_node_form':
     
$form['#after_build'][] = 'change_location_label';
    break;
  }
}

function

change_location_label(&$form) {
 
$form['locations'][0]['street']['#title'] = t('Adress 1');
 
$form['locations'][0]['additional']['#title'] = t('Adress 2');

  return

$form;
}
?>
Tags:

Crear templates para nuestras páginas basadas en un tipo de nodo

A veces necesitamos de una template page.tpl.php para cada tipo de nodo (page-[type].tpl.php). Por ejemplo una template distinta para nuestros nodos de tipo ‘Blog’ (page-blog.tpl.php) y una otra para nuestros nodos de tipo ‘mitipo’ (page-mitipo.tpl.php).

Si Drupal nos propone por defecto (Template Suggestion) templates como node-[type].tpl.php, no es lo mismo para los templates de nuestras páginas.

Para añadir (o sugerir) templates para nuestras páginas, solo debemos instertar el código siguiente en nuestro archivo template.php de nuestro tema.

No se olviden cambiar temaNombre por el nombre de su tema.

Drupal 6

<?php
function temaNombre_preprocess_page(&$vars, $hook) {
  if (isset(
$vars['node'])) {
  
// Si el tipo de nodo es "blog" la template propuesta será "page-blog.tpl.php".
  
$vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type);
  }
}
?>
Tags:

Arcerca del autor

Karim Boudjema Karim Boudjema. Un programador belga en los Andes de Bolivia.

Ver mi perfil en LinkedInVer mi perfil en Twitter

>> Más...

Comentarios recientes