Nota Mental para Drupal – Formularios personalizados

Debido a que muchas veces tengo que personalizar un formulario de Drupal para adaptarlo a un diseño en especial y muchas veces incluso cambiar el botón normal de “Submit” por una imagen, para esto normalmente llamo drupal_render($form['elemento']); desde la plantilla; cuando necesito cambiar el botón de crear por una imagen, pues simplemente incluyo un elemento oculto al final:

<input type="hidden" name="op" value="Submit" />

De esta manera sobreescribe el valor de la imagen (por como maneja PHP las variables enviadas por el navegador); todo funcionaba bien en una aplicación reciente; pero al instalarla en el servidor del cliente dejó de funcionar. después de revisar algunas cosas recordé que el “Submit” es traducido al idioma correspondiente, por lo que el sistema no reconocerá que enviaste el formulario, la solución es muy simple (pero que siempre olvido):

<input type="hidden" name="op" value="<?=t('Submit')?>" />

Decirle a la plantilla que traduzca también el “Submit” ;-)

Otros temas