2011-02-24 20 views

Respuesta

0

No estoy muy seguro de lo que está intentando hacer, pero como el módulo webform crea un tipo de contenido - webform, puede modificar formularios creados por webform simplemente a través de la interfaz de administración; agregue nuevas entradas y tipos de entrada, especifique si son obligatorios o no, etc.

por ejemplo, un formulario de "contacto con nosotros" puede tener las entradas que desee, a diferencia del formulario de contacto principal de Drupal, que IIRC solo tiene una dirección de correo electrónico y un área de texto.

+0

Me gustaría capturar datos en php y hacer lo que quiera con – Mamadou

+0

No estoy seguro de eso. Creo que los formularios web se pueden agregar a cualquier tipo de nodo. – HerrSerker

0

Sí, si por algún motivo necesita hacer un cambio en el formulario web que no puede hacer editando el nodo del formulario web, puede usar hook_form_alter para cambiar el formulario también, ya que el formulario web lo crea el forma api.

Dicho esto, recorra algunas de las esquinas del formulario web - viene con una serie de opciones para rellenar dinámicamente o cambiar partes del formulario.

2

Puede usar hook_form_alter(), accediendo a los elementos a través de $form['submitted'].

6

Puede hacerlo,

sólo tiene el id del nodo y luego utilizar el ID como en hook_form_ <formid> _alter()

la formid generado es webform_client_form_ <NODEID>

donde NODEID es la identificación del nodo

así que si tiene un módulo llamado mymodule y un nodo con id 44 whic h tiene un formulario web

function mymodule_form_webform_client_form_44_alter(&$form, &$form_state) { 
// code here; 
} 
14

En Drupal 7, puede utilizar hook_form_alter() o hook_form_<formid>_alter(), lo que usted prefiere. Solo asegúrate de tener los nombres y parámetros correctos. Drupal 6 solo es compatible con hook_form_alter().

Al crear estas funciones, recuerde también que Drupal puede no detectarlas hasta que haya vaciado la memoria caché.

Otra cosa importante a tener en cuenta es que si desea realizar cambios en los campos de formularios web, debe realizar cambios en $form['submitted']. Cometí el error de intentar originalmente editar $form['#node']->webform['components'], lo cual no tiene ningún efecto.

Más información se puede encontrar aquí: http://drupal.org/node/1558246

esperanza que puede ayudar.

Cuestiones relacionadas