Buen día a todos, primeramente me llamo Dario Garcia, llevo trabajando con drupal aproximadamente 6 meses, anteriormente habia tratado con algunos otros CMS, pero sin entrar en polemica me decidi a usar Drupal, en esta ocasión tratare un tema que fuen bastante ineteresante para mi, el manejo de formularios, se que exitsten módulos como webform, dedicados al manejo de formularios, mas sin embargo existen diversas razones para conocer el funcionamiento de la api de formularios de Drupal:
El objetivo de este articulo es servir como guia breve para crear un formulario personalizado usando la api de drupal, cabe destacar que este miniarticulo, es para la version 4.7
Comenzare con un preintroducción y describiendo un caso sencillo para su posterior explicación
0 . - Tener 2 cuadros de texto
Primeramente se debe crear un nodo, contenido nuevo, y en el tipo de entrada especificar php, en el contenido introduciremos el código que generara dos campos de texto llamados nombre y email.
<?php
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Nombre'),
'#default_value' => $object['nombre'],
'#size' => 50,
'#maxlength' => 128,
);
$form['email'] = array(
'#type' => 'textfield',
'#title' => t('Email'),
'#default_value' => $object['email'],
'#size' => 50,
'#maxlength' => 128,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Enviar'),
'#weight' => 19,);
$output = drupal_get_form('contacto', $form);
return $output;
?>Si funciono de manera correcta, tendrán un formulario simple con dos cuadros de texto llamados, nombre y email.
Tomemos el primero de ellos para explicar brevemente el cometido de cada una
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Nombre'),
'#size' => 50,
'#maxlength' => 128,
);$form['name']
'#type' => 'textfield',
'#title' => t('Nombre'),
'#size' => 50, '#maxlength' => 128,
Las api de dupal para formularios puede consultarse en http://api.drupal.org/api/4.7/file/developer/topics/forms_api_reference....
y finalmente las lineas:
$output = drupal_get_form('contacto', $form);
return $output;
Este documento lo hice en base a mi experiencia personal, si lo consideran util haganmelo saber para seguir escribiendo miniarticulos, sobre manejo de formularios, aclaro que no soy experto en la materia y unicamente quisiera describir mi experiencia.
Comentarios
Y como guardo la información en la tabla
Disculpen y como se guarda la información en la tabla y más aún , digamos que quiero validar que ese registro ya exista, donde puedo cargar una funcíon de validación global para llamar desde cualquier nodo y no declarar en cada uno
tutoriales
no veo nada.. :S
donde esta el manual
El Manual
El Manual, o tutorial o como quieran llamarlo... está ahí encima... no lo ven? si ocupa la mayor parte de la página.... o derrepente sus monitores se están revelando????
Yo tampoco encuentro el
Yo tampoco encuentro el manual
¿donde esta?
Aprendiendo a emprender
pues yo tampoco lo veo
pues yo tampoco lo veo
formularios de bases de datos
He visto formularios que cargan la informacion en una base de datos e incluso que permiten subir imagenes en ese formulario, supongamos una pagina inmobiliaria echa con drupal, al respecto y no se si se va del tema, cómo puedo hacer ese tipo de formulario.
Ademas, yo me pregunto, le habrá einstein explicado a su abuela su teoria
formularios de base de datos
Hola rlilloy,
Lo de la abuela de einstein no lo se :)
Pero en cuanto a usar drupal para inmobiliarias, recuerdo haber visto varios proyectos para esto, puedes hacer una busqueda en google de "real state drupal" y vas a encontrar varios proyectos...
Espero te sirva
Liz -> Mi blog
Hola estoy aprendiendo
Hola estoy aprendiendo Drupal y me parecio bueno el tutorial
Me baje el Drupal 5 y como esta especificado el tutorial es para 4.7 asi que aqui esta la version para 5.
Saludos
Mario
<?php
function crearFormulario(){
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Nombre'),
'#default_value' => $object['nombre'],
'#size' => 50,
'#maxlength' => 128,
);
$form['email'] = array(
'#type' => 'textfield',
'#title' => t('Email'),
'#default_value' => $object['email'],
'#size' => 50,
'#maxlength' => 128,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Enviar'),
'#weight' => 19,);
return $form;
}
$output = drupal_get_form('crearFormulario');
return $output;
?>
Registrar datos en una Tabla
Hola Mario. Estuve haciendo una pagina con este formulario y con estos dos campos(y todo ok.), pero ahora como podria hacer que cuando presione sobre el boton enviar, me envie a una pagina y éste lo envie (grabe), por ejemplo en una tabla 'amigos', claro está que la tabla ya lo creado en mysql, como tambien los dos campos(nombre y email).
Gracias y saludos a toda la comunidad de Drupal
Hola
Hola juanka alguien te comento como hacer para enviar a la la base de datos la info de este formulario, estoy empezando a usar drupal y no resuelvo el mismo tema
Saludos