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 submitForm
mé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 found
use 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.