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 5 mins 26 segs
hace 5 mins 39 segs
hace 3 horas 4 segs
hace 9 horas 14 mins
hace 2 días 7 horas
hace 2 días 7 horas
hace 3 días 1 hora
hace 5 días 13 horas
hace 5 días 13 horas
hace 6 días 12 horas