webform tutorial form drupal drupal-webform

tutorial - Cómo eliminar el botón Enviar de un formulario web de Drupal específico



web form drupal 8 (6)

  1. Copie el archivo webform-form.tpl.php
  2. Cambie el nombre webform-form-{nid}.tpl.php donde nid es igual a su ID de nodo
  3. Editar: agregue solo una línea después de print drupal_render($form[''submitted'']); ,
    agregue esta línea: unset($form[''actions''][''submit'']);

Esto funciona para mi.

Me gustaría eliminar el botón de enviar de un formulario web específico de Drupal, ¿es posible y, en caso afirmativo, cómo lo hago?

También me gustaría eliminar el botón anterior si es posible también de la misma forma.


Gracias por esto y por mí, la solución de Etno funcionó: los demás no funcionaron por alguna razón.

Lo único que agregaría a esto es que el archivo mencionado está en "/sites/all/modules/webform/templates/webform-form.tpl.php" y NO en el archivo "/ drupal / sites / all / modules / webform / templates / webform-form.tpl.php "(si tiene dicho archivo) - me tomó un tiempo darme cuenta de eso :)



Si desea una solución rápida para un prototipo, etc., puede ocultar el botón en CSS.

.block-webform .form-actions { visibility:hidden; }

El botón invisible aún ocupará un espacio, pero no podrás verlo.


Tendrás que orientar y modificar ese formulario con hook_form_alter () según lo indicado por @googletop

Para desarmar el envío, algo como esto en un módulo personalizado funcionaría:

<?php function my_custom_module_form_alter(&$form, &$form_state, $form_id) { if ($form_id == ''webform_client_form_130'') { if ($thiscondition && $thatcondition){ unset($form[''actions''][''submit'']); } } } ?>

Lo mismo para el botón "anterior", solo tendrá que encontrarlo en la matriz de formularios


Utilicé estas simples líneas php en webform-form.tpl.php porque webform-form-{nid}.tpl.php o un webform-form-[nid].tpl.php (como se especifica en el archivo de plantilla) No funciona. Así que simplemente utilicé una condición if en formulario web $nid solo para desactivar el botón de envío en nodos webform específicos.

print drupal_render($form[''submitted'']); $arrayWithoutSubmitButton = array( 29, 30, 31, 32); if( in_array( $nid, $arrayWithoutSubmitButton)){ unset($form[''actions''][''submit'']); }