RUN/RUT para Drupal 7

Posteado el por: moncada.nicolas
FacebookTwitter
rut y drupal

Hace ya un tiempo liberamos un módulo en Drupal.org para usar un nuevo elemento en nuestros formularios. Se trata del módulo RUT, el cual también incluye un submódulo para integrarlo con Field, permitiendo crear el campo RUT en cualquier entidad (nodos, términos, usuarios, etc...) quedando, automáticamente, integrado con Views y otros módulos.

La idea principal de este módulo es poder olvidarse de la validación, tanto en el servidor como en el cliente, ya que este elemento lo hará por defecto. Para validar en el lado del cliente se utiliza jQuery Rut Plugin (Muy bueno).

¿Como usar el elemento RUT?

Simplemente, en un formulario personalizado, podemos hacer lo siguiente:

<?php
function MODULO_client_form($form, &$form_state) {
 
$form['nombre'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Name'),
   
'#required' => TRUE,
  );
 
// Creamos el campo para el rut usando el elemento rut_field
 
$form['rut'] = array(
   
'#type' => 'rut_field',
   
'#title' => t('RUT'),
   
'#required' => TRUE,
   
// Queremos validar en el lado del cliente
   
'#validate_js' => TRUE
   
// Queremos imprimir el siguiente mensaje cuando haya error de validación
   
'#message_js' => 'Ocurrio un error!',
  );
  ...
}
?>

Una vez que envíes el formulario, simplemente recibirás el Rut, normalmente con formato (con punto y guión), si deseas separar el dígito verificador puedes usar la función rut_separate_rut(). Ej:

<?php
 
...
 
$rut_con_formato = "13.735.138-2";
  list(
$rut, $dv) = rut_separate_rut($rut_con_formato);
 
 
// $rut = 13735138
  // $dv = 2
?>

RUT Field

Instalando el módulo RUT Field se habilitará el nuevo campo para agregarlo en cualquier entidad. El valor se registrará en la base de datos en dos columnas, el rut y el dígito verificador.

RUT en Webform

El módulo Webform es una solución de Drupal para generar encuestas en nodos y que, lamentablemente, no se integra con el API de Fields, en cambio cuenta con su propio sistema de campos. Es por ello que se ha desarrollado el módulo Webform Rut, el cual se encarga de habilitar el campo Rut en este sistema.

moncada.nicolas

Últimos Comentarios

Blog

En esta sección compartimos algunas experiencias concretas para la comunidad de desarrolladores de código abierto

Hace un tiempo atrás, Transbank (la empresa detrás de Webpay) había habilitado una nueva modalidad para integrar su sistema de pago con nuestros sitios. Se trata de un servicio web que utiliza el protocolo SOAP, haciendonos más fácil la integración con respecto a su antecesor. Y para soportar esto en Drupal, se ha publicado una nueva versión del módulo Webpay y aquí veremos como funciona.

Posteado el por: moncada.nicolas

Para la junta de Drupal (realizado el 20 de Diciembre del 2016) he presentado el desarrollo de un módulo pensado para la comunidad de Drupal Chile, llamado Badge. El objetivo del módulo es crear logros o insignias y asignarlo a usuarios u otras entidades de nuestro sitio.