Creo un formulario personalizado en Drupal 8, recuerdo que podemos redirigir a una ruta personalizada en Drupal 7 con el $form_state['redirect'] = 'mycustompath';controlador de envío personalizado, pero ¿cómo puedo redirigir al usuario después del envío del formulario en Drupal 8?
Sé que debería usar el submitFormmétodo:
public function submitForm(array &$form, FormStateInterface $form_state)
{
//submissions jobs ...
//redirect path
}
forms
8
redirection
Yusef
fuente
fuente

$form_state->setRedirect('/start');return;, supongamos que quiero redirigir a la página de inicio. ¿Qué es el fragmento exacto?'<front>'¿trabajaste sobre alias de ruta? esta es mi rutatcdev.content: path: '/start' defaults: _controller: 'Drupal\tcdev\Controller\TrainingCenterController::content' _title: 'Start Training Center' requirements: _permission: 'access content'Si desea establecer en buildform necesita usar alguna ruta de enrutamiento como.
fuente
Url' not founduse Drupal\Core\Url;(sin la barra diagonal anterior)$form_state->setRedirectUrl($url);también se puede usar en submitForm ().Si desea redirigir el formulario de edición del usuario a la página de inicio u otra página, siga el código a continuación.
Primero, add-hook - hook_form_alter`
después de agregar el gancho, agregue la siguiente función
Espero esta ayuda
fuente
$form_state->setRedirect()enviado solo en el formulario para que todos los demás controladores de envío puedan procesarse.