Ich erstelle ein benutzerdefiniertes Formular in Drupal 8. Ich erinnere mich, dass wir in Drupal 7 mit dem $form_state['redirect'] = 'mycustompath';
benutzerdefinierten Submit-Handler zum benutzerdefinierten Pfad umleiten können , aber wie kann ich Benutzer nach dem Senden des Formulars in Drupal 8 umleiten?
Ich weiß, ich sollte submitForm
Methode verwenden:
public function submitForm(array &$form, FormStateInterface $form_state)
{
//submissions jobs ...
//redirect path
}
forms
8
redirection
Yusef
quelle
quelle
$form_state->setRedirect('/start');return;
. Nehmen wir an, ich möchte zur Startseite umleiten. Was ist ein genaues Snippet?'<front>'
hat was du über path alias gemacht? Dies ist meine Routetcdev.content: path: '/start' defaults: _controller: 'Drupal\tcdev\Controller\TrainingCenterController::content' _title: 'Start Training Center' requirements: _permission: 'access content'
Wenn Sie bei buildform festlegen möchten, müssen Sie einen Routing-Pfad wie verwenden.
quelle
Url' not found
use Drupal\Core\Url;
(ohne den vorhergehenden Schrägstrich)$form_state->setRedirectUrl($url);
kann auch in submitForm () verwendet werden.Wenn Sie das Benutzerbearbeitungsformular zur Startseite oder einer anderen Seite umleiten möchten, folgen Sie dem folgenden Code.
Zuerst add-hook - hook_form_alter`
Fügen Sie nach dem Hinzufügen des Hakens die folgende Funktion hinzu
Ich hoffe diese Hilfe.
quelle
$form_state->setRedirect()
im Formular Submit angeben, damit alle anderen Submit-Handler verarbeitet werden können.