tutorial - Cómo eliminar el botón Enviar de un formulario web de Drupal específico
web form drupal 8 (6)
- Copie el archivo
webform-form.tpl.php
- Cambie el nombre
webform-form-{nid}.tpl.php
donde nid es igual a su ID de nodo - 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 :)
Puedes alterar cualquier forma en drupal, usando hook_form_alter
.
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'']);
}