Я создаю пользовательскую форму в Drupal 8, я помню, что мы можем перенаправить на пользовательский путь в Drupal 7 с установленным $form_state['redirect'] = 'mycustompath';
в пользовательском обработчике отправки, но как можно перенаправить пользователя после отправки формы в Drupal 8?
Я знаю, что должен использовать submitForm
метод:
public function submitForm(array &$form, FormStateInterface $form_state)
{
//submissions jobs ...
//redirect path
}
forms
8
redirection
Юсеф
источник
источник
$form_state->setRedirect('/start');return;
, предположим, я хочу перенаправить на домашнюю страницу. какой точный фрагмент?'<front>'
сработало что вы про путь псевдоним? это мой маршрутtcdev.content: path: '/start' defaults: _controller: 'Drupal\tcdev\Controller\TrainingCenterController::content' _title: 'Start Training Center' requirements: _permission: 'access content'
Если вы хотите установить buildform вам нужно использовать какой-нибудь путь маршрутизации, например.
источник
Url' not found
use Drupal\Core\Url;
(без предшествующей косой черты)$form_state->setRedirectUrl($url);
также может использоваться в submitForm ().Если вы хотите перенаправить форму редактирования пользователя на домашнюю страницу или другую страницу, следуйте приведенному ниже коду.
Во-первых, add-hook - hook_form_alter`
после добавления крючка добавьте функцию ниже
Я надеюсь, что это поможет.
источник
$form_state->setRedirect()
в форме отправки, чтобы можно было обработать все остальные обработчики отправки.