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;
}
?>
Comentarios recientes
hace 4 días 20 horas
hace 6 días 2 horas
hace 6 días 20 horas
hace 6 días 23 horas
hace 13 semanas 6 días
hace 14 semanas 1 día
hace 7 semanas 1 día
hace 10 semanas 5 días
hace 11 semanas 1 día
hace 11 semanas 4 días