Fromularios II

Continuando la guia anterior ahora pasamos a complementar las nociones basicas de formularios, indicando algunos de los componentes de la api de formularios hasta tener construido un esqueleto de formulario sencillo, con su boton de envio.

1.- Tener un formulario mas completo
Seguimos complementando nuestro formulario primeramente agregaremos un atributo 'required' al cuadro de texto, quedando como sigue:

$form['nombre'] = array(
  '#type' => 'textfield',
  '#title' => t('Nombre'),
'#default_value' => $object['nombre'],
  '#size' => 50,
  '#required' => TRUE,
  '#maxlength' => 128,
);

Esto hace que sea necesario dar un valor para este cuadro de texto, con este atributo, antes de enviar la información.
Ahora agregare otros componentes para un formulario.
Textarea(Area de texto)
El elemento TEXTAREA crea un control de entrada de texto multilínea. Comunmente usado en formulario para escribir nuestros comentarios.
$form['Comentario'] = array(
  '#type' => 'textarea',
  '#title' => t('Comentario'),
  '#default_value' => $node->body,
  '#required' => TRUE,
);
En esta ocasion el atributo 'textarea', se usa  para definir un area de texto.

CheckBox (Casilla de verificación)

$form['politicas'] = array(
  '#type' => 'checkbox',
  '#title' => ('Acepto las politicas.'),
);

El atributo checkbox define una casilla de verificación

Submit(boton de envio)

$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Enviar'),
   '#weight' => 19,);
 

El atributo submit define un boton de envio

Select(Cuadro de selección)
Aqui introducimos el atributo 'select' y el 'options' veamos su funcionamiento

   $form['Plan_host']['Plan'] = array(
  '#type' => 'select',
  '#name' => 'plan',
  '#title' => t('Opcion a escoger'),
      '#options' => array(
' ' => t(' '),
    'p0' => t('opcion 1'),
    'p1' => t('opcion 2'),
    'p2' => t('opcion 3'),   
'p3' => t('opcion 4'),   
  ),
  );

El atributo select hace que se genere un cuadro de selección, y con el array options, se van introducionedo las opciones, el primer valor 'p0' correspondria al option value y el segundo valor ('opcion 1') se refiere al texto que se muestra para esa opcion.

Finalmente con la combinación de estos atributos podemos crear el esqueleto de un primer formulario en este caso para ejemplificar "de cotización".
solicitando el nombre, email, selccionando un producto, agragando un comentario y solicitando que acepte las politicas


<?php
$form
['name'] = array(
 
'#type' => 'textfield',
 
'#title' => t('Nombre'),
'#default_value' => $object['nombre'],
 
'#size' => 50,
 
'#maxlength' => 128,
  
'#required' => TRUE,
);

  
$form['Plan_host']['Plan'] = array(
 
'#type' => 'select',
 
'#name' => 'plan',
 
'#title' => t('producto'),
     
'#options' => array(
   
' ' => t(' '),
   
'p0' => t('producto - precio'),
   
'p1' => t('producto - precio'),
   
'p2' => t('producto - precio'),   
   
'p3' => t('producto - precio'),   
  ),
  );
 
  
$form['Comentario'] = array(
 
'#type' => 'textarea',
 
'#title' => t('Comentarios'),
 
'#default_value' => $node->body,
 
'#required' => TRUE,
);

  
$form['politicas'] = array(
 
'#type' => 'checkbox',
 
'#title' => ('Acepto las politicas.'),
);

$output = drupal_get_form('contacto', $form);
  return
$output;
?>


El resultado es un formulario en toda la regla que, de momento no hace nada, pero posteriormente complementaremos este formulario aun mas.

Este documento es la continuacion de la primera parte de esta guia sobre la api de formularios, esta continua dando a concer elemnto que se integraran en el formulario, y es la preparacion para ver en la siguiente entrega validaciones de elemnto