Eu crio um formulário personalizado no Drupal 8, lembro que podemos redirecionar para o caminho personalizado no Drupal 7 com conjunto $form_state['redirect'] = 'mycustompath';
no manipulador de envio personalizado, mas como redirecionar o usuário após o envio do formulário no Drupal 8?
Eu sei que devo usar o submitForm
método:
public function submitForm(array &$form, FormStateInterface $form_state)
{
//submissions jobs ...
//redirect path
}
forms
8
redirection
Yusef
fonte
fonte
$form_state->setRedirect('/start');return;
, suponha que eu queira redirecionar para a página inicial. o que é snippet exato?'<front>'
trabalhou o que você sobre alias do caminho? esta é a minha rotatcdev.content: path: '/start' defaults: _controller: 'Drupal\tcdev\Controller\TrainingCenterController::content' _title: 'Start Training Center' requirements: _permission: 'access content'
Se você deseja definir o buildform, precisará usar algum caminho de roteamento, como.
fonte
Url' not found
use Drupal\Core\Url;
(sem a barra precedente)$form_state->setRedirectUrl($url);
também pode ser usado em submitForm ().Se você deseja redirecionar o formulário de edição do usuário para a página inicial ou outra página, siga o código abaixo.
Primeiro, adicione-hook - hook_form_alter`
depois de adicionar o gancho, adicione a função abaixo
Espero que isso ajude.
fonte
$form_state->setRedirect()
enviar apenas no formulário para que todos os outros manipuladores de envio possam ser processados.