drupal 7 – ¿Cómo modifico el controlador de envío de formularios?

Pregunta:

Por alguna razón, necesito reemplazar algunos caracteres (si existen) en cada campo de texto en cualquier forma justo antes de que se almacenen en la base de datos. En otras palabras, necesito un gancho en el que pueda obtener todos los datos enviados y reemplazar sus caracteres.
Encontré esta solución:

function hook_form_alter($form, $form_state, $form_id) {
  $form['#submit'] = 'my_custom_submission_function';
}

Pero esta no es una buena idea ya que también tengo que encargarme del resto del progreso de la presentación. Solo necesito reemplazar algunos caracteres. ¿Hay algún gancho para hacer esto? Cuales son las soluciones?

Respuesta:

$form['#submit'] almacena una serie de controladores de envío de formularios. Con el código que proporcionó, lo sobrescribirá agregando solo el suyo. Para obtener el resultado que desea, debe agregar su controlador de envío como el primer elemento en la matriz de esta manera:

array_unshift($form['#submit'], 'mymodule_custom_submission');

Obtener los valores correctos en las formas correctas y reemplazar algunos caracteres es probablemente un problema mayor en sí mismo. Es posible que desee reducir los formularios / campos que necesita cambiar para asegurarse de no romper nada.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım